SQL常用語句:
一、常用關鍵詞:
1.distinct:過濾重復
select distinct create_user_name from bms_project; 此種情況下,就要用到distinct過濾掉重復的。
2.count: 統計
select count(*) from bms_project; 查詢bms_project表裡總共有多少條記錄。
select count(*) from bms_project where project_type=1; 查詢bms_project表裡project_type=1的總共有多少條記錄。
3.top: 取最前面的N條
select top 3 * from bms_project; 查詢bms_project裡的最前面3條記錄。
4.like: 模糊查詢
select * from bms_project where project_name like '%項目%' and project_type=2;
查詢bms_project表裡project_type=2,並且project_name中包含“項目”二字的記錄。
5.between...and...:從...到...; 在...之間
select * from bms_project where project_budget between 500000 and 1000000;
查詢bms_project表裡project_budget在500000到1000000之間的記錄。
6.in: 子查詢
select * from bms_project where id in(100,110,120,130,140,150);
查詢bms_project表裡id是100,110,120,130,140,150的記錄。
7.order by: 排序 (ASC順序,DESC逆序)
select * from bms_project order by project_budget DESC;
8.group by: 以...分組。通常和聚合函數配合使用(count(),sum(),avg())
select project_type,sum(project_budget) from bms_project group by project_type;
注意:group by 後面的字段和select後非聚合函數的字段一致。
9.limit x,y (x:起始位置,y:偏移值)
select project_budget from bms_project order by project_budget desc limit 0,5 ;
從bms_project表中取出前五條,並按照project_budget由大到小的順序顯示。
二、多表連接查詢:
1. table1 INNER JOIN table2: 內連接。只顯示連接的兩張表的交集行。
2. table1 LEFT JOIN table2: 左外連接。顯示table1的所有行,即使在table2中沒有匹配的行。
3. table1 RIGHT JOIN table2:右外連接。顯示table2的所有行,即使在table1z中沒有匹配的行。
4. table1 FULL JOIN table2: 即使table1中的行在table2中沒有匹配,或者table2中的行在table1中沒有匹配。它仍返回table1和table2兩張表中所有匹配的行。