Navicat 部落格

2018 年 1 月 24 日,由 Robert Gravelle 撰寫

在 Navicat for MySQL、PostgreSQL、SQLite、MariaDB 和 Navicat Premium 的非 Essentials 版本中使用查詢建立工具,即使只有些許的 SQL 知識都能建立和編輯查詢。在第 1 部分中,我們使用它來編寫查詢以得到在指定年份發佈的電影中出現過的演員的清單。今天的文章將提供有關選取輸出欄位的更詳細的概觀。

今天的查詢

我們今天在這裡構建的查詢將再次在 Sakila 範例資料庫Sakila 範例資料庫執行。它包含許多以電影業為主題的資料表,涵蓋了演員和電影製片廠以至影碟出租店的所有內容。如需下載和安裝 Sakila 資料庫的說明,請參閱 Generating Reports on MySQL Data(產生 MySQL 資料的報表)教學。

與之前的文章非常相似,我們將構建一個查詢以得到在指定年份發佈的電影中出現過的演員的清單。不同的是,這次我們將使用一個檢視,以一個逗號分隔的清單列出每套電影的演員。

設定欄位關係

將資料表或檢視從左窗格拖到「圖表設計」窗格,或者按兩下它以將其加到查詢中。查詢建立工具將自動包含已宣告了外部索引鍵條件約束的實體關係。在這個例子,我們需要 film 資料表和 film_list 檢視。他們之間沒有定義的關係,所以我們必須自己加入一個。要做到這一點,只需將一個欄位從一個物件拖到另一個物件,連結的欄位(即 film.film_id 和 film_list.FID)之間將出現一條線。

查詢建立工具不僅會繪製物件之間的關係,還會為查詢語句加入 INNER JOIN:

選取資料表或檢視後,我們就可以選擇輸出欄位了。

按一下要在查詢結果中顯示的每個欄位旁邊的核取方塊,即 film.title、film.film_id、film.release_year 和 film_list.actors。

你在「圖表設計」窗格中選取的欄位將顯示在「語法」窗格中,接著你可以按一下 <Distinct>, <func>> 和 <別名> 修飾詞進行修改。

使用函式

按一下 <func> 修飾詞將開啟 SUM、MAX、MIX、AVG 和 COUNT 彙總函式的清單。你也可以在「編輯」索引標籤輸入其他函式。例如,我們可以選取 film_list.price 欄位並在「編輯」索引標籤中輸入「concat('$', film_list.price)」以加入貨幣符號。我們也可以拖動欄位來移動它的位置,例如,移動到 actor 清單之前:

欄位別名

使用函式時,最好使用別名來選擇一個更具描述性欄位名稱。例如,在這例子中,我們可以簡單地使用欄位名稱「price」:

以下是查詢建立工具產生的最終的查詢語句:

SELECT
film.title,
film.film_id,
film.release_year,
concat('$', film_list.price) AS price,
film_list.actors
FROM
film
INNER JOIN film_list ON film.film_id = film_list.FID

以下是查詢結果:

Navicat 文章
頻道記錄
分享
部落格封存檔