数据库并集union、交集intersect、差集except

数据库并集union、交集intersect、差集except
红外线测速仪⽂章⽬录
数据库的集合运算
什么是集合运算
即表之间的运算,如表的加减法
并集(union),交集(intersect),补集(except)
并集—union
在前⾯插⼊数据的学习中,我们创建了⼀个表customer和staff表⼀样,后来⼜往⾥⾯添加了⼀个数据下⾯我们来⽤UNION连接这两个表:
SELECT first_ name, last_ name
FROM customer
UNION
SELECT first_ name, last_ name
FROM staff
UNION其实就相当于集合的并集,它会返回在两表的全部商品并去重,得到的结果不会有重复⾏。但也可以得到包含重复⾏的结果,只需要在UNION后⾯加关键字ALL就可以了:
SELECT first_ name, last_ name
FROM customer
UNION ALL
SELECT first_ name, last_ name
FROM staff
补集—except
最后来学习集合的差集运算——EXCEPT,其语法也和UNION相同。例如查询在customer⽽不在staff表中的数据:
SELECT first_ name, last_ name
FROM customer
EXCEPT
光谱学与光谱分析
SELECT first_ name, last_ name
FROM staff
大学二手书交易平台UNION和INTERSECT执⾏都不论表的前后次序,即A UNION B和B UNION A是⼀致的。
青鸟网但差集运算与前后顺序是有关的,A EXCEPT B ! = B EXCEPT A
交集—intersect
其语法和UNION完全⼀致:
SELECT first_ name, last_ name
ca121
FROM customer
INTERSECT
SELECT first_ name, last_ name
FROM actor物流企业财务管理
注意,INTERSECT在MySQL中暂时不能使⽤。UNION的所有注意事项和ALL关键字的⽤法都和INTERSECT完全⼀致
集合运算的注意事项
作为运算对象的记录中的列的数量必须⼀致。如果两个表的列的数量不同或者同⼀位置的列的数据类型不⼀样都会发⽣错误。
作为运算对象的记录中的列的类型必须⼀致。如果两个表的列的数量不同或者同⼀位置的列的数据类型不⼀样都会发⽣错误。
可以使⽤任何SELECT语句,但ORDER BY ⼦句只能在最后使⽤⼀次,下⾯给⼀个⽰例,查询两个表中厨房⽤具的ID号和商品名并连接,最后按ID升序排列:
SELECT first_ name, last_ name
FROM customer
INTERSECT
SELECT first_ name, last_ name
FROM actor
order by id

本文发布于:2024-09-21 15:36:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/473093.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:运算   集合   记录
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议