數據庫(十一)

不等值連接在關鍵字on後匹配條件中除了=以外關係運算符來實現不等條件(> >= < <= !=)

--》查詢員工編號大於其領導編號的每個員工的姓名、職位、領導姓名

select e.name,e.job,e.empno,m.ename,m.empno from t_employee e inner join t_employee m on e.mgr=m.empno;

select e.name,e.job,e.empno,m.ename,m.empno from t_employee e inner join t_employee m on e.mgr=m.empno and e.mgr>m.empno;

select e.name,e.job,e.empno,m.ename,m.empno from t_employee e, t_employee m where e.mgr=m.empno and e.mgr>m.empno;

外連接查詢

語法:select f1...... from table1 left/right outer join table2 on 條件;
查詢結果至少是一個表的所有記錄

左外聯:
select table1 left outer join table2
table1爲驅動表    table2爲匹配表
查詢出的結果是table1驅動表的所有記錄
右外聯:
select table1 right outer join table2
table1爲匹配表   table2爲驅動表 
查詢出的結果是table2驅動表的所有記錄

--》查詢每個員工的姓名、職位和領導的姓名內連接的方式
select e.name,e.job,m.ename from t_employee e inner join t_employee m on e.mgr=m.empno;
查詢結果爲13條數據,king爲大小boss,沒有上級領導,所以king這條數據沒用顯示出來

左外聯查詢:
select e.ename,e.job,m.ename from t_employee e left outer join t_employee m on e.mgr=m.empno;
t_employee表中14數據都在部門表中有對應
insert into t_employee values(7999,'xiaogong','clerk',7782,19810312,5200,null,50);
查詢每個員工的編號、姓名、職位、部門名稱、位置
右外聯查詢


select e.deptno,e.name,e.job,d.dname,d.loc from t_dept d right outer join t_employee e on d.deptno=e.deptno;








 

發佈了91 篇原創文章 · 獲贊 39 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章