1.limit限制查詢結(jié)果條數(shù)
1)不指定起始位置
limit 記錄數(shù)
記錄數(shù)超過查詢結(jié)果則顯示所有的記錄,不會報錯
2)指定起始位置
limit 起始位置 , 記錄數(shù)
記錄的起始位置從位置0開始乙各。
2.使用集合函數(shù)查詢
集合函數(shù)包括count()墨礁,sum(),avg()耳峦,max()和min()恩静。
1)count()函數(shù)
統(tǒng)計記錄條數(shù)
實例:
select count(*) from employee;
與group by一起使用
select d_id,count(*) from employee group by d_id;
上述語句會先分組后統(tǒng)計。
2) sum()函數(shù)
sum()函數(shù)是求和函數(shù)
實例:
select num,sum(score) from grade where num= 1001;
select num,sum(score) from grade group by num;
sum()只能計算數(shù)值類型字段蹲坷。
3)avg()函數(shù)
avg()函數(shù)是求平均值函數(shù)驶乾。
實例:
select avg(age) from employee;
select course,avg(score) from group by course;
4)max(),min()函數(shù)
求最大值和最小值循签。
實例:
select max(age) from employee;
select num,course,max(score) from grade group by course;
對于字符串的最大值問題级乐,max()函數(shù)是使用字符對應(yīng)的ascii碼進(jìn)行計算的。
3.連接查詢
將兩個及兩個以上的表連接起來選取所需數(shù)據(jù)懦底。
1)內(nèi)連接查詢:
當(dāng)兩個表中具有相同意義的字段值相等時唇牧,就查詢出該條記錄。
實例:
select num,name,employee.d_id,age,d_name from employee,department where employee.d_id = department.d_id;
因字段名相同聚唐,所以取d_id字段值時最好指定哪張表的字段丐重。
2)外連接查詢
select 屬性名列表 from 表名1 left|right join 表名2 on 表名1.屬性名1=表名2.屬性名2;
左連接查詢:
進(jìn)行左連接查詢時杆查,可以查出表名1中所指的表中所有記錄扮惦。而表名2所指表中,只能查詢出匹配的記錄亲桦。
實例:
select num,name,employee.d_id,age,d_name from employee left join department on employee.d_id = department.d_id;
右連接查詢:
與左連接相反崖蜜,可以查詢出表名2中的的所有記錄,而表名1中所指的表中客峭,只查詢出匹配的記錄豫领。
4.合并查詢結(jié)果
使用union和union all關(guān)鍵字。
union將查詢的結(jié)果合并到一起并去掉形同的記錄舔琅,union all 只是簡單地合并到一起等恐。
select 語句1 union|union all
select 語句2 union|union all...
select 語句n;
5.為表或字段起別名
表起別名語法:
表名 表的別名
select * from department d where d.d_id =1001;
字段起別名語法:
屬性名 [as] 別名
as可有可無。
select d_id as department_id,d_name as department_name from department;