数据库SQL实战 --57.获取雇员中的行数据,且这些行也存在于emp_v中。注意不能使用intersect关键字。

题目描述

存在如下的视图:
创建视图emp_v as select * from employees emp_no> 10005; 
CREATE 
TABLE` 员工`(`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`)); 
获取雇员中的行数据,且这些行也存在于emp_v中。注意不能使用intersect关键字。

输出格式:

EMP_NO	生日	名字	姓	性别	聘用日期
10006	1953年4月20日	Anneke	Preusig	F	1989年6月2日
10007	1957年5月23日	Tzvetan	杰林斯基	F	1989年2月10日
10008	1958年2月19日	Saniya	Kalloufi	中号	1994年9月15日
10009	1952年4月19日	Sumant	PEAC	F	1985年2月18日
10010	1963年6月1日	Duangkaew	Piveteau	F	1989年8月24日
10011	1953年11月7日	玛丽	思劳斯	F	1990年1月22日

解决思路

SELECT em.* FROM employees AS em, emp_v AS ev WHERE em.emp_no = ev.emp_no
  • 由于视图 emp_v 的记录是从 employees 中导出的,因此要判断两者中相等的数据,只需要判断emp_no相等即可。

猜你喜欢

转载自blog.csdn.net/ouzhuangzhuang/article/details/89919317