表的複雜查詢-—多表查詢

員工表emp:

    字段:empno(編號),ename(姓名),job(職位),mgr(上級的編號),hiredate(入職時間),sal(薪水),comm(獎金),deptno(部門編號)

部門表dept

   字段:deptno(部門編號),dname(部門名),loc(地點)

 一.介紹

1.顯示sales部門位置及其員工的名稱

    select loc,ename from emp,dept where dept.dname ='sales' and emp.deptno=dept.deptno

2.顯示僱員名,僱員工資及所在部門的名字

  select ename,sal,dname from emp,dept where emp.deptno=dept.depno

---如果兩張表有相同字段,則需要帶表名

3.如何顯示部門號位10的部門名,員工名和工資

  select dname,ename,sal from emp,dept where emp.deptno=10 and emp.deptno=dept.deptno

4.顯示僱員名,僱員工資及所在部門名稱並按部門排序

  select ename,sal ,dname where emp.deptno=dept.deptno  order by dept.dname 

二.自連接

    指在同一張表上的連接查詢 

       1.顯示某個員工的上級領導的名字,比如顯示'FORD'的上級和自己的名字

---1.知道FORD的上級編號

      select mgr from emp where  ename ='FORD'

-----2.

      select ename from emp where empno =(select mgr from emp where  ename ='FORD'

2.顯示公司每個員工的名字和他上級的名字

  ---分析:把emp表看做倆張表,分別是 worker boss

  select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章