99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2022-10-31 閱讀量: 495
mysql學(xué)習(xí)15-多表查詢練習(xí)

#第三大部分

-- 多表查詢練習(xí)

create table salgrade(grade int,losal int,hisal int);

insert into salgrade values(1,700,1200),

(2,1201,1400),

(3,1401,2000),

(4,2001,3000),

(5,3001,9999);

use test2;

select * from salgrade;-- 5

select * from emp;-- 14

select * from dept;-- 4


-- 26查詢每位員工的ename,dname,sal

#1, 左連接

select *

from emp e left join dept d on e.deptno=d.deptno;

#2,用想要的字段放在原來的星號處

select ename 員工姓名,dname 部門名稱,sal 工資

from emp e left join dept d on e.deptno=d.deptno;


-- 27 查詢各地區(qū)的員工數(shù)(統(tǒng)計每個地區(qū),沒有員工計為0)

#1 確定來自那倆個表, from emp e left join dept d

#2 要的字段 地區(qū) ,員工數(shù) count(empno)

#3 各地區(qū)要group by分組

select loc 地區(qū), count(ename) from emp

left join dept on emp.deptno=dept.deptno

group by loc ;


-- 28 查詢manager的姓名、所屬部門名稱和入職日期:ename,dname,job,hiredate(內(nèi)連接/笛卡爾積連接)

#內(nèi)連接

select ename 姓名,job 職位, dname 部門名稱 ,hiredate 入職日期

from emp e inner join dept d on e.deptno=d.deptno

where job="manager";

-- 29 查詢所有員工姓名及其直屬領(lǐng)導(dǎo)姓名(自連接:通過別名,將同一張表視為多張表)

select * from emp;

#來自那兩張表的連接結(jié)果集,emp表連接emp表

#自連接 (同一性質(zhì)的字段就可以連接)

select * from emp as emp1 left join emp as emp2 on emp1.mgr=emp2.empno;

#取出我們要的字段

select emp1.ename 員工姓名 , emp2.ename 領(lǐng)導(dǎo)姓名 from emp as emp1 left join emp as emp2 on emp1.mgr=emp2.empno;



-- 30 查詢?nèi)肼毴掌谠缬谄渲睂兕I(lǐng)導(dǎo)的員工姓名及其所屬部門名稱:empno,ename,dname (兩張以上的多表連接)

#1,先解決 查詢?nèi)肼毴掌谠缬谄渲睂兕I(lǐng)導(dǎo)的員工姓名,涉及emp1和emp2

select emp1.ename 員工姓名, emp2.ename 領(lǐng)導(dǎo)姓名

from emp as emp1

left join emp as emp2 on emp1.mgr=emp2.empno

where emp1.hiredate < emp2.hiredate;

#2,再解決 及其所屬部門名稱 ,涉及到dept表

select emp1.ename 員工姓名, emp2.ename 領(lǐng)導(dǎo)姓名, dept.dname 部門名稱

from emp as emp1

left join emp as emp2 on emp1.mgr=emp2.empno

left join dept on emp1.deptno=dept.deptno;


0.0000
0
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子