1. 程式人生 > >Mysql命令使用大全(簡單、方便、好上手) ----查詢語句

Mysql命令使用大全(簡單、方便、好上手) ----查詢語句

select [all|distinct] select_expr from -> where -> group by [合計函式] -> having -> order by -> limit
(1)、select_expr
1)計算公式、函式呼叫、欄位也是表示式
  例如:selectstu,29+25,now() from tb;
2)可以使用as關鍵字為每個列設定別名,適用於簡化列標識,避免多個列識別符號重複。

(2)、from子句
用於標識查詢來源
1)可以使用as關鍵字為表起別名
例如:select * from tb1 as tt,tb2 as bb;
2)from 子句後面可以同時出現多個表,多個表會橫向疊加在一起,而資料會形成一個笛卡爾積。
例如:select * from tb1,tb2;

(3)、where子句
用於從from獲得的資料來源進行篩選。1標識真,0表示假。表示式由運算子和運算陣列成。

(4)、group by 子句(分組子句)
group by 子段/別名 [排序方式]
分組後會進行排序。升序: ASC,降序:DESC。
以下聚合函式需配合group by 子句一起使用:
count  返回不同的非NULL值數目,如count(*)、count(欄位)。
sum   求和
max   求最大值
min   求最小值
avg   求平均值
group_concat   返回帶有來自一個組的連線的非NULL值的字元結果,為組內字串連線。

(5)、having子句(條件子句)
與where功能、用法相同,只是執行的時機不同。where在開始時執行資料檢測,對原資料進行過濾。having對篩選出的結果再次進行過濾。where不可以
使用聚合函式。一般需用到聚合函式才會用having。SQL標準要求having子句必須引用group by 子句中的列或用於聚合函式中的列。

(6)、order by 子句(排序子句)
order by 排序欄位/別名排序方式[,排序欄位/別名排序方式]...
order by 子句支援對多個欄位進行排序。升序:ASC,降序:DESC

(7)、limit 子句(限制結果數量子句)
僅對處理好的結果進行數量限制。將處理好的結果看做是一個集合,按照記錄出現的先後順序,索引從0開始。
limit 起始位置,獲取條數
省略第一個引數,表示索引從0開始。即limit 獲取條數。

(8)、distinct 選項
用於去除重複記錄