数据库SQL实战
来源:互联网 发布:jquery动态数组 编辑:程序博客网 时间:2024/06/05 18:07
查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
`dept_name` varchar(40) NOT NULL,
PRIMARY KEY (`dept_no`));
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
输入描述:
无
输出描述:
last_name first_name dept_name FacelloGeorgiMarketing省略省略省略SluisMaryNULL
select e.last_name, e.first_name, da.dept_namefrom (employees e left join dept_emp de on e.emp_no = de.emp_no)left join departments da on de.dept_no = da.dept_no
思路:运用两次left join连接嵌套
1、第一次left join连接employees表与dept_emp表,得到所有员工的last_name和first_name以及对应的dept_no,也包括暂时没有分配部门的员工
2、第二次left join连接上表与departments表,即连接dept_no与dept_name,得到所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工
阅读全文
0 0
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- 数据库SQL实战
- resizableImageWithCapInsets对图片拉伸的使用见解
- Hybrid技术的设计与实现
- C++字符数组中的‘\0’问题
- ActiveMQ实现负载均衡+高可用部署方案
- ROC曲线特征
- 数据库SQL实战
- java中Integer的区域
- AngularJS学习笔记(五)
- Solr6.0学习 (一).环境搭建
- 脚本telnet失败,而host上直接telnet是成功的
- android-Failed to inflate ColorStateList, leaving it to the framework错误
- 在Mac中应用程序无法正常运行了是什么原因
- 优先级队列
- c++检测cpu内核的数目: