多表連線sql語句 練習題

2021-10-14 23:33:24 字數 1763 閱讀 3597

–等值連線

–查詢所有員工的員工編號,姓名,部門編號,部門名稱,部門位址

select empno,emp.deptno,dname,loc

from emp,dept

where emp.deptno=dept.deptno

–寫乙個查詢,顯示所有工作在chicago並且獎金不為空的員工姓名,工作地點,獎金

select ename,dname,sal

from emp,dept

where emp.deptno=dept.deptno

and loc=『chicago』

and comm is not null

–寫乙個查詢,顯示所有姓名中含有a字元的員工姓名,工作地點

select ename,loc

from emp,dept

where emp.deptno=dept.deptno

and ename like 『%a%』

–非等值連線

–查詢每個員工的姓名,工資,工資等級

select ename,sal,grade

from emp e,salgrade s

where e.sal between s.sal and s.hisal

–查詢每個員工的姓名,工資,工資等級,部門名稱

select ename,sal,grade,dname

from emp e,dept d,salgrade s

where e.deptno=d.deptno and

e.sal between s.losal and s.hisal

–查詢每個員工的編號,姓名,工資等級,所在工作城市,按照工資等級進行公升序排序

select ename,sal,grade,loc

from emp e,dept d,salgrade s

where e.deptno=d.deptno and

e.sal between s.losal and s.hisal

order by grade asc

自身連線

–查詢所有工作在new york和chicago的員工姓名,員工編號,以及他們的經理姓名,經理編號

select e1.ename 員工姓名,e1.empno 員工編號,e2.ename 經理姓名,e2.empno 經理編號

from emp e1,emp e2,dept d

where e1.mgr=e2.empno

and e1.deptno=d.deptno

and d.loc in (『newyork』,『chicago』)

–顯示員工smith的姓名,部門名稱,直接上級名稱

select e1.ename 員工姓名,dname 部門名稱,e2.ename 經理姓名

from emp e1,emp e2,dept d

where e1.mgr=e2.empno

and d.deptno=e1.deptno

and e1.name=『smith』

–顯示員工姓名,參加工作時間,經理名,參加工作時間,要求參加時間比經理早

select e1.ename員工姓名,e1.hiredate員工入職時間,e2.ename經理姓名,e2.hiredate經理入職時間

form emp e1,emp e2

where e1.mgr=e2.empno

and e1.hiredate

多表查詢練習題

部門表 create table dept id int primary key primary key,部門id dname varchar 50 部門名稱 loc varchar 50 部門所在地 新增4個部門 insert into dept id,dname,loc values 10,教學...

JS語句練習題

var a prompt 輸入乙個數字 var b prompt 輸入乙個 中的任意運算子 var c prompt 再輸入乙個數字 if b else if b else if b else 方法二 var a prompt 輸入乙個數字 var b prompt 輸入乙個 中的任意運算子 var...

SQL趣味練習題

第一中情況 create table renwu name varchar 20 not null,fahter varchar 20 insert into renwu values 小甲 大甲 insert into renwu values 大甲 老甲 insert into renwu na...