1. 程式人生 > >使用Navicat的查詢生成器設計SELECT查詢(第1部分)

使用Navicat的查詢生成器設計SELECT查詢(第1部分)

下載Navicat Premium最新版本

Navicat for MySQLPostgreSQLSQLiteMariaDBNavicat PremiumNon-Essentials版本中,查詢生成器允許任何人只使用粗略的SQL知識來建立和編輯查詢。在本文中,我們將使用它來編寫一個查詢來獲取在給定年份中釋出的電影中出現的演員列表。

Step 1:源資料庫

我們將要構建的查詢將針對Sakila示例資料庫執行。MySQL AB文件團隊的前成員Mike Hillyer建立了Sakila資料庫,專門用於提供標準模式,用於書籍,教程和文章,就像您正在閱讀的那樣。

該資料庫包含許多以電影業為主題的表格,涵蓋從演員和電影製片廠到視訊租賃店的所有內容。

Step 2:開啟查詢生成器

您可以將查詢生成器視為視覺化構建查詢的工具。可以從“Query Builder”螢幕訪問它。讓我們通過開啟一個新查詢來啟動它:

2.1 單擊主工具欄上的“Query”圖示,然後單擊“Object”工具欄中的“New Query”按鈕:

Navicat

2.2 在“Query Designer”中,單擊“Query Builder”按鈕以開啟可視SQL生成器。

資料庫物件顯示在左窗格中,而右窗格分為兩部分:上部“Design pane”窗格和下部“Syntax”窗格:

Navicat

Step 3:構建年度電影查詢的演員

首先選擇表格是個好主意,以便查詢生成器知道要為欄位列表顯示哪些欄位:

3.1將表/檢視從左窗格拖到“Diagram Design”窗格,或者雙擊它以將其新增到查詢中。我們需要actor,film_actor和電影表。

3.2您可以通過單擊每個表旁邊的“”來指定表別名。要新增表別名,只需雙擊表名稱並在Diagram Design窗格中輸入別名。 請注意查詢生成器如何知道表關係。那是因為已經在Table物件上聲明瞭外來鍵約束:

Navicat

3.3要在查詢中包含欄位,請在“Diagram Design”窗格中選中欄位名稱的左側。要包括所有欄位,請單擊物件標題的左側。選擇演員的名字和姓氏以及電影片名。

新增WHERE標準

單擊WHERE關鍵字旁邊的“< Click here to add conditions>”會新增預設的WHERE條件“< - > = < - >”。

  1. 單擊左側的“< - > = < - >”以選擇一個欄位。這將開啟一個彈出對話方塊,其中包含欄位列表和編輯選項卡。
  2. 單擊“列表”選項卡,然後選擇f.release_year欄位。
  3. 單擊“OK”關閉對話方塊。
  4. 接下來,單擊右側“< - > = < - >”以設定釋出年份。這次在“編輯”選項卡中輸入值“2006”。單擊“OK”關閉對話方塊。
  5. 單擊“OK”關閉“查詢生成器”。您現在應該在查詢編輯器中看到生成的SELECT語句:
SELECT
a.first_name,
a.last_name,
f.title
FROM
actor AS a
INNER JOIN film_actor AS fa ON fa.actor_id = a.actor_id
INNER JOIN film AS f ON fa.film_id = f.film_id
WHERE
f.release_year = 2006

單擊“Run”按鈕以執行查詢。結果將按電影標題排序:

Navicat

結論

無論您是初學者還是經驗DBA,Navicat的Query Builder都可以比以往更輕鬆地編寫SELECT查詢。