數據庫管理工具Navicat Premium教程:幾個重要的SELECT語句

Navicat Premium是一個可連接多種數據庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數據庫,讓管理不同類型的數據庫更加的方便。

數據是許多大大小小的企業的核心部分。例如,Facebook存儲每個用戶的個人資料信息,包括關於他們的朋友和數據庫系統內的帖子的數據。SQL(結構化查詢語言的縮寫)是一種編程語言,使開發人員和數據庫管理員能夠使用該數據。

對於數據庫工作,您應該熟悉一些常用的SQL命令。不包括數據定義語言(DDL)或數據操作語言(DML)語句,SQL命令包括使用SELECT語句從表和視圖中獲取數據的命令。今天的文章將介紹幾個最重要的查詢,以及使用Navicat Premium作爲數據庫客戶端的一些示例。

確定列的最低/最高值

該Sakila樣例數據庫包含了許多涵蓋了從演員和電影製片廠到錄像帶出租店周圍的電影業爲主題的表。我們今天將在這裏構建的查詢將針對它運行,因此您可能需要參考關於MySQL數據的生成報告教程,以獲取有關下載和安裝Sakila數據庫的說明。

Sakila數據庫中的一箇中心表是電影表。它包含了我們虛構的視頻租賃商店擁有的每部電影的詳細信息。它包括電影標題、發行年份以及租賃價格等信息:

24film_table(1).jpg

假設我們想知道價格範圍是什麼——也就是說,最低和最高的租金是多少?我們可以很容易地找到使用MIN()和MAX()聚合函數。聚合函數對一組值執行計算並返回單個值結果。有許多聚合函數,包括AVG、COUNT、SUM、MIN、MAX等。這是一個將MIN()和MAX()應用於電影表的rental_rate字段的查詢:

SELECT MIN(f.rental_rate) as lowest_price,
       MAX(f.rental_rate) as highest_price
FROM film f;

正如所料,每個函數都返回一個值:

25lowest_highest_rental_price.jpg

按類別分組結果

SQL中最強大的一個子句是GROUP BY。它將具有相同值的行分組到彙總行中。因此,GROUP BY語句通常與聚合函數(COUNT、MAX、MIN、SUM、AVG)一起使用,以將結果集分組爲一列或多列。

我們可以使用GROUP BY子句列出每部電影評級的最低和最高租金成本,例如《General》、《PG》、《PG-13》等。我們需要做的就是將評級字段添加到列列表中,並附加GROUP BY子句到我們現有查詢的結尾:

SELECT f.rating,
       MIN(f.rental_rate) as lowest_price,
       MAX(f.rental_rate) as highest_price
FROM film f
GROUP BY f.rating;

我們的結果顯示,每部評級的電影價格從0.99美元到4.99美元不等:

26lowest_highest_rental_price_grouped_by_rating.jpg

結論

今天的博客介紹了一些最重要的查詢,以及一些使用Navicat Premium作爲數據庫客戶端的示例。Navicat通過獲取關鍵字的建議並從編碼中刪除重複,幫助您快速編寫代碼完成和可自定義的代碼片段。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章