第十三节----SET运算符

本文详细介绍了SQL中的集合操作,包括UNION用于合并不重复数据,UNION ALL包含所有数据,INTERSECT用于获取两个查询的交集,以及MINUS用于获取第一个查询中但不在第二个查询中的数据。通过示例展示了如何在查询中使用这些操作,并强调了ORDER BY子句的使用规则以及如何根据列名或别名进行排序。
摘要由CSDN通过智能技术生成
将多个查询用 SET 操作符连接组成一个新的查询
UNION/UNION ALL(交集)
INTERSECT(并集)
MINUS (差集)

在这里插入图片描述

--UNION/UNION ALL
select employee_id,department_id from employees01 union select employee_id,department_id from employees02;
select employee_id,department_id from employees01 union all select employee_id,department_id from employees02;
--起别名(union前面语句起好别名,后面可以不用起)
select employee_id emp_id,department_id dept_id from employees01 union  select employee_id,department_id from employees02;
--排序
select employee_id emp_id,department_id dept_id from employees01 union  select employee_id,department_id from employees02 order by emp_id;
select employee_id emp_id,department_id dept_id from employees01 union  select employee_id,department_id from employees02 order by emp_id desc;
--INTERSECT
select employee_id emp_id,department_id dept_id from employees01 intersect  select employee_id,department_id from employees02 order by emp_id desc;
--MINUS
select employee_id emp_id,department_id dept_id from employees01 minus  select employee_id,department_id from employees02 order by emp_id desc;

注意:

在SELECT 列表中的列名和表达式在数量和数据类型上要相对应
括号可以改变执行的顺序
ORDER BY 子句:
只能在语句的最后出现
可以使用第一个查询中的列名, 别名或相对位置

匹配各SELECT 语句

select employee_id,department_id,to_char(null) from employees01 union  select to_number(null),department_id,department_name from departments;

使用相对位置排序

column a_dummy noprint;
select 'study at' as "My Dream",2 a_dummy from dual union select 'I want to',1 from dual union select 'atguigu.com',3 from dual order by 2 asc;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值