一、單表簡單查詢: 1、 2、去重: 3、別名: 4、排序: 5、模糊查詢: 二、多表連接查詢: 1、交叉連接:若查詢共有欄位,需要制定該欄位來自哪個表格; 自然連接 2、外連接: 三、分組聚合: 1、group by: 2、 where 放在group 之前,分組之後條件用having; 四、子查 ...
一、單表簡單查詢:
1、
select * from scott.emp
2、去重:
--去除重覆記錄 select distinct ssex from java0322; select distinct (ssex) from java0322;
3、別名:
--給指定欄位指定別名 select ssid as 編號 ,sname as 姓名 from java
4、排序:
--排序 倒序 desc select * from java0322 order by ssid desc;
5、模糊查詢:
--模糊查詢 select * from java0322 where sname like '___'; select * from java0322 where sname like '%四%';
二、多表連接查詢:
1、交叉連接:若查詢共有欄位,需要制定該欄位來自哪個表格;-----自然連接
--內連接 select * from java0322 join sclass on java0322.cid =sclass.cid; -- 給表起別名 select * from java0322 a join sclass b on a.cid = b.cid;
2、外連接:
--左外連接(左邊的全部) select * from sclass a left join java0322 b on a.cid =b.cid; --右外連接(右表的全部) select * from java0322 a right join sclass b on a.cid =b.cid; --全外連接 select * from sclass a full join java0322 b on a.cid = b.cid;
三、分組聚合:
1、group by:
-- 查詢男女各多少(按性別分組後查詢所有,然後再查個數) select ssex,count(*) from java0322 group by ssex;
2、
-- 查詢性別大於1 的性別 select ssex from java0322 group by ssex having count(*)>1;
where 放在group 之前,分組之後條件用having;
四、子查詢:
-- 子查詢--查詢性別為女的學生所在的班級 select cname from sclass where cid in (select cid from java0322 where ssex='女'); --查詢陽光班的所有男同學的地址 select saddress from java0322 where ssex ='男'and cid in(select cid from sclass where cname='陽光班'); select saddress from java0322 a join sclass b on a.cid = b.cid where ssex='男' and cname='陽光班'; select * from (select sclass.cid,cname,ssid,sname from sclass join java0322 on java0322.cid = sclass.cid)
1、分頁:
--分行---查詢第2條 select * from(select rownum as num,sclass.cid,cname,ssid,sname from sclass join java0322 on java0322.cid = sclass.cid) where num >1 and num<3;