1.limit限制查詢結(jié)果條數(shù)
1)不指定起始位置
limit 記錄數(shù)
記錄數(shù)超過(guò)查詢結(jié)果則顯示所有的記錄,不會(huì)報(bào)錯(cuò)
2)指定起始位置
limit 起始位置 , 記錄數(shù)
記錄的起始位置從位置0開(kāi)始。
2.使用集合函數(shù)查詢
集合函數(shù)包括count(),sum(),avg(),max()和min()。
1)count()函數(shù)
統(tǒng)計(jì)記錄條數(shù)
實(shí)例:
select count(*) from employee;
與group by一起使用
select d_id,count(*) from employee group by d_id;
上述語(yǔ)句會(huì)先分組后統(tǒng)計(jì)。
2) sum()函數(shù)
sum()函數(shù)是求和函數(shù)
實(shí)例:
select num,sum(score) from grade where num= 1001;
select num,sum(score) from grade group by num;
sum()只能計(jì)算數(shù)值類型字段。
3)avg()函數(shù)
avg()函數(shù)是求平均值函數(shù)。
實(shí)例:
select avg(age) from employee;
select course,avg(score) from group by course;
4)max(),min()函數(shù)
求最大值和最小值。
實(shí)例:
select max(age) from employee;
select num,course,max(score) from grade group by course;
對(duì)于字符串的最大值問(wèn)題,max()函數(shù)是使用字符對(duì)應(yīng)的ascii碼進(jìn)行計(jì)算的。
3.連接查詢
將兩個(gè)及兩個(gè)以上的表連接起來(lái)選取所需數(shù)據(jù)。
1)內(nèi)連接查詢:
當(dāng)兩個(gè)表中具有相同意義的字段值相等時(shí),就查詢出該條記錄。
實(shí)例:
select num,name,employee.d_id,age,d_name from employee,department where employee.d_id = department.d_id;
因字段名相同,所以取d_id字段值時(shí)最好指定哪張表的字段。
2)外連接查詢
select 屬性名列表 from 表名1 left|right join 表名2 on 表名1.屬性名1=表名2.屬性名2;
左連接查詢:
進(jìn)行左連接查詢時(shí),可以查出表名1中所指的表中所有記錄。而表名2所指表中,只能查詢出匹配的記錄。
實(shí)例:
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 只是簡(jiǎn)單地合并到一起。
select 語(yǔ)句1 union|union all
select 語(yǔ)句2 union|union all...
select 語(yǔ)句n;
5.為表或字段起別名
表起別名語(yǔ)法:
表名 表的別名
select * from department d where d.d_id =1001;
字段起別名語(yǔ)法:
屬性名 [as] 別名
as可有可無(wú)。
select d_id as department_id,d_name as department_name from department;