MySQL中实现并、交、差
生活随笔
收集整理的這篇文章主要介紹了
MySQL中实现并、交、差
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
簡介
sql叫做結構化查詢語言,本質利用的就是關系代數(shù)中的操作,比如常用的并、交、差、投影、選擇等操作。
其中并、交、差是常用的操作,本文就看看MySQL中的sql語言是怎么提供對應的關系代數(shù)操作的。
并
并的符號是∪,含義就是將兩個集合合并到一塊。
MySQL中提供的是union關鍵字,會去重
select id from A union select id from B; //A B數(shù)據(jù)結構一定要一樣MySQL中還提供了union all 關鍵字,不會過濾重復元素。
select id from A union all select id from B; //A B數(shù)據(jù)結構一定要一樣交
交的符號是∩,含義是取兩個集合的共同元素。
MySQL中沒有直接提供求交集的關鍵字,我們可以通過其他關鍵字來模擬實現(xiàn)
1、in
select id from A where id in (select id from B);通過 in 來選擇A中的元素,選擇條件就是A中的元素需要在B中出現(xiàn)
2、join
通過內連接
select A.id from A inner join B where A.id = B.id;差
差的符號是 - ,A - B的含義是 只存在于A集合中,而不存在于B集合中的元素。
MySQL沒有對應的直接操作符,也可以通過其他操作符來操作。
1、not in
select id from A where id not in (select id from B);2、join
使用leftjoin
select A.id from A left join B on A.id = B.id where B.id is null; 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的MySQL中实现并、交、差的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Postman用法简介-Http请求模拟
- 下一篇: mysql where条件使用了or会不