MySQL學習筆記(1)——常用符號

DISTINCT

DISTINCT常與SELECT連用,如:SELECT DISTINCT。用於返回唯一且不同的值。

語法:

SELECT DISTINCT 列名稱 FROM 表名稱

現有account表:

id name money
1 aaa 1000
2 bbb 1000
3 ccc 1000
4 ccc 1000

SELECT DISTINCT name FROM account

結果:

name
aaa
bbb
ccc

ORDER BY

ORDER BY 語句用於對結果集進行排序。
語法:

SELECT 列1,列2 FROM 表 ORDER BY 列1


IN

IN 操作符允許我們在 WHERE 子句中規定多個值。
語法:

SELECT 列1,列2
FROM table_name
WHERE 列1 IN (value1,value2,…)


JOIN

JOIN等同於INNER JOIN,即內連接。用於根據兩個或多個表中的列之間的關係,從這些表中查詢數據。說白了就是拼接兩個表。
語法:

SELECT * FROM 表1 JOIN 表2 ON 表1的某個屬性 = 表2的某個屬性

student表:

id name class_id
1 sam 1
2 jack 1
3 paul 2
4 louis 2
5 thomas 4
6 stevie 3

class表:

id name
1 一班
2 二班
3 三班

SELECT * FROM student JOIN class ON student.class_id = class.id

執行結果爲:
join查詢結果集

可以注意到只有5條記錄,不滿足ON條件的會直接過濾掉。相當於

SELECT * FROM student,class WHERE student.class_id = class.id


LEFT JOIN

左外連接,不滿足ON條件的會保留左邊那張表的數據,右邊表數據直接顯示NULL(左邊的數據會全盤保留)。

SELECT * FROM student LEFT JOIN class ON student.class_id = class.id

結果如下:
在這裏插入圖片描述
可以看到,Thomas的班級id和name爲空,因爲是左連接,即使不滿足ON條件,左表得以保留。


UNION

UNION 操作符用於合併兩個或多個 SELECT 語句的結果集。UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條 SELECT 語句中的列的順序必須相同。

SELECT name FROM student
UNION
SELECT name FROM class;

結果爲:
在這裏插入圖片描述

GROUP BY

與一些統計函數結合對結果集進行分組

ORDER表如下:

id customer order_price
1 sam 1000
2 bush 700
3 bush 2700
4 sam 2100
5 kat 500
6 sam 1400
7 kat 1100
8 bush 200

執行如下SQL語句:

SELECT customer,SUM(order_price)
FROM order
GROUP BY customer;

結果爲:
在這裏插入圖片描述

HAVING

在 SQL 中增加 HAVING 子句原因是,WHERE 關鍵字無法與合計函數一起使用。現在,我們希望查找訂單總金額大於 2000 的客戶。

SQL 語句如下:

SELECT customer,SUM(order_price)
FROM order
GROUP BY customer
HAVING SUM(order_price)>2000;

注意GROUP BY要在HAVING前面,因爲HAVING是在最後結果集中處理。結果如下:
在這裏插入圖片描述

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