自学--数据库笔记--第四篇--多表连接查询

自学--数据库笔记--第四篇--多表连接查询

worker为已制作好的员工职工表
salary为已制作好的员工工作表

1.

 1  --双表内部连接查询
 2 --查询职工号,姓名和部门名
 3 select wid,wname,dname
 4 from worker,depart
 5 --方法一,在worker中指定内部连接的条件 查询职工号,姓名和部门名并按职工号排序 降序
 6 select wid,wname,dname
 7 from worker,depart
 8 where worker.depid=depart.did
 9 order by wid desc
10 --方法二,在from中指定内部连接的条件
11 select wid,wname,dname
12 from worker inner join depart on worker.depid=depart.did
13 order by wid asc

2.

 1 --多表内部连接查询
 2 --在where中指定内部连接的条件 查询职工号,姓名和部门名和2011年2月份工资,最后一列要求显示‘2011年2月工资’,并按部门号排序
 3 select worker.wid as 职工号,wname as 姓名,dname as 部门名,actualsalary as '2011年2月工资'
 4 from worker,depart,salary
 5 where worker.depid=depart.did and worker.wid=salary.wid and year(sdate)=2011 and month(sdate)=2
 6 order by dname
 7 --方法二,在from中指定内部连接的条件
 8 select worker.wid as 职工号,wname as 姓名,dname as 部门名,actualsalary as '2011年2月工资'
 9 from worker inner join depart on worker.depid=depart.did inner join salary on worker.wid=salary.wid
10 where year(sdate)=2011 and month(sdate)=2
11 order by dname

3.

 1 --外部链接查询
 2 --方法一,左外连接查询,对于职工表worker和员工培训表study进行左外连接
 3 select *
 4 from worker left outer join study on worker.wid=study.wid
 5 --方法二,右外连接查询
 6 select *
 7 from worker right outer join study on worker.wid=study.wid
 8 --方法三,完全外部连接查询,对于职工表worker和员工培训表study进行完全外连接
 9 select *
10 from worker full outer join study on worker.wid=study.wid
11 --方法四,交叉连接查询,对于职工表worker和员工培训表study进行交叉连接
12 select *
13 from worker cross join study
14 
15 select *
16 from worker,study
原文地址:https://www.cnblogs.com/pongniwei/p/6528874.html