sql92查詢與sql99查詢實現的三種方式(講義)
阿新 • • 發佈:2018-11-05
--SQL92&SQL99實現三表聯合查詢 --建立city表:使用圖形操作即可 --給city表新增測試資料 insert into city values(1,'商丘','歷史聞名古都'); insert into city values(2,'邯鄲','歷史聞名古都'); insert into city values(3,'洛陽','歷史聞名古都'); insert into city values(4,'開封','歷史聞名古都'); --將部門表中的loc欄位設定為城市表的城市編號 update dept set loc='1' where deptno=50; update dept set loc='2' where deptno=40; update dept set loc='3' where deptno=30; update dept set loc='4' where deptno=20; update dept set loc='4' where deptno=10; --完成三表聯合查詢 --SQL92實現:查詢員工資訊及部門名稱及所在城市名稱並且員工的工資大於2000或者有獎金 --特點:易於書寫,難於閱讀 --缺點:92的SQL語句結構不清晰 --用法: --select 內容 (別名,連線符,去除重複,oracle函式,邏輯運算) --from 表名1,表名2,表名3... --where 條件(連線條件,普通篩選條件,where子句關鍵字) --group by 分組欄位 --having 多行函式篩選 --order by 排序欄位 select e.*,d.dname,c.cname from emp e,dept d,city c where (e.deptno=d.deptno and d.loc=c.cid and sal>2000) or (e.deptno=d.deptno and d.loc=c.cid and comm is not null) order by e.sal --SQL99實現:查詢員工資訊及部門名稱及所在城市名稱並且員工的工資大於2000或者有獎金 --特點:難於書寫,易於閱讀 --使用: --select 內容 from 表名1 -- inner join 表名2 -- on 連線條件 --inner join 表名3 --on 連線條件 --where 普通篩選條件 --group by 分組 --having 多行函式篩選 --order by 排序 select * from emp e inner join dept d on e.deptno = d.deptno inner join city c on d.loc =c.cid where e.sal>2000 or e.comm is not null order by e.sal