1、鏈接查詢php
一、all | distinctmysql
all 容許出現重複行 默認不寫就是allsql
distinct:不容許出現——就是所謂的「消除重複行」函數
二、from子句 指定數據的來源,能夠是表,也能夠是多個表。spa
三、where子句 where子句,至關於php或js中的if條件語句:其最終結果就是布爾值(true/false)排序
算術運算符: + - * / %it
比較運算符: > >= < <= =(等於) <>(不等於) ==(等於,mysql擴展),!=(不等於,mysql擴展)io
邏輯運算符: and(與) or(或) not(非)擴展
between語法: XX between 值1 and 值2;select
字段XX的值在值1和值2之間(含),至關於:XX >=值1 and XX<=值2;
in語法:XX in (1,2,3,4,5) XX not in ()
ike語法(模糊查找): 語法形式: XX like ‘要查找字符’;
字符:% 其含義是:表明任意個數的任意字符
_ 其含義是:表明1個的任意字符
實際應用中的模糊查找,一般都是這樣:like ‘%關鍵字%’;
四、group by分組子句
分組就是將數據以某個字段的值爲「依據」,分到不一樣的「組別」裏。
形式: group by 字段1 排序方式1,字段2 排序方式2, .....
在分組查詢中,有如下幾個函數:
count(*): 統計一組中的數量,一般用「*」作參數。
max(字段名):獲取該字段中在該組中的最大值。
min(字段名):獲取該字段中在該組中的最小值。
sum(字段名):獲取該字段中在該組中的總和。
avg(字段名):獲取該字段中在該組中的平均值。
group_concat(字段名):獲取該分組內的這個字段全部信息,每條逗號分隔。
五、having子句
having子句其實和where同樣,用來做條件判斷的。
where對錶的字段的值進行判斷。
having對group by以後的 組 數據進行判斷。
六、order by子句
形式: order by 排序字段1 [排序方式], 排序字段2 [排序方式], .....
說明:對前面取得的數據來指定按某個字段的大小來進行排序
排序的兩種方式: 正序 asc(默認值 能夠省略)
倒序 desc
七、limit子句
形式:limit [起始行號start], 要取出的行數num
2、鏈接查詢
鏈接就是將兩個或兩個以上的錶鏈接起來成爲一個"數據源"
形式: from 表1 [鏈接方式] join 表2 [on 鏈接條件];
鏈接的結果能夠看成一個「表」來使用。
經常使用的幾種鏈接方式:
交叉鏈接:形式:from 表1 join 表2 ; //可見交叉鏈接只是沒有on條件而已。
內鏈接:形式:from 表1 join 表2 on 表1.字段1=表2.字段2;
左[外]鏈接:形式:from 表1 left [outer] join 表2 on 鏈接條件。
右[外]鏈接:形式:from 表1 right [outer] join 表2 on 鏈接條件。
全[外]鏈接:形式:from 表1 full [outer] join 表2 on 鏈接條件;
3、子查詢
子查詢就是將查詢結果當條件
形式:selelct 字段或表達式或(子查詢1) [as 別名] from 表名或(子查詢2) where 字段或表達式或(子查詢3) 的條件判斷
4、聯合查詢
聯合查詢就是將兩個select語句的查詢結果「層疊」到一塊兒成爲一個「大結果」。
兩個查詢結果的可以進行「聯合」的先覺條件是:結果字段數相等。
聯合查詢的關鍵字:union
鏈接查詢的關鍵字: join