国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQL刪除重復的電子郵箱力扣題目解答流程

SQL刪除重復的電子郵箱力扣題目解答流程

2022-03-08 21:36超夢夢夢夢 Sql Server

小伙伴們都知道,不管是在學習中還是日常工作中,幾乎天天是要跟數據庫打交道的,為了更好的操作數據庫,我們的SQL知識儲備是必不可少的

 

寫在前面

想要掌握好SQL,那少不了每天的練習與學習。接下來小夢會帶領小伙伴們一起每天刷一道LeetCode-數據庫(SQL)相關的題目,然后在文章后例舉相關知識點幫助小伙伴們學習與鞏固,更好的掌握SQL。

小伙伴們如果在學習過程中有不明白的地方,歡迎評論區留言提問,小夢定知無不言,言無不盡。

SQL刪除重復的電子郵箱力扣題目解答流程

 

SQL題目概述

題目:

編寫一個 SQL 查詢,來刪除 Person 表中所有重復的電子郵箱,重復的郵箱里只保留 Id 最小 的那個。LeetCode原題連接

SQL刪除重復的電子郵箱力扣題目解答流程

https://leetcode-cn.com/problems/delete-duplicate-emails/

Person 表

+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
+----+------------------+

Id 是這個表的主鍵。

 

解題思路

  • 通過  自連接  將此表與它自身連接起來,通過電子郵箱列。
  • 然后我們需要找到其他記錄中具有相同電子郵件地址的更大 ID。所以我們通過ID作比較找出大的數據,把這個作為條件添加到WHERE子句中。
  • 因為我們已經得到了要刪除的記錄,然后我們使用DELETE語句實現。

 

方法實現

根據以上解題思路,我們可以很容易寫出題解。

?
1
2
3
4
5
6
DELETE
    pson1
FROM
    Person pson1,Person pson2
WHERE
    pson1.Email = pson2.Email AND pson1.Id > pson2.Id

 

代碼測試

進行代碼測試

SQL刪除重復的電子郵箱力扣題目解答流程

 與預期結果一致,測試成功,用時166ms

SQL刪除重復的電子郵箱力扣題目解答流程

 

知識點小結

 內連接與外連接

小夢用極簡單的方式帶小伙伴們過一遍內連接與外連接。

 表1 classa             

SQL刪除重復的電子郵箱力扣題目解答流程

表2 classb

SQL刪除重復的電子郵箱力扣題目解答流程

 

1. 內連接 inner join (join 默認就是內連接)

表1與表2的交集,用上面兩個表演示一下

?
1
2
3
4
5
select
    classa.id as aid,classb.id as bid
from
    classa
inner join classb on classa.id = classb.id;

 查詢的結果是classa與classb的交集

SQL刪除重復的電子郵箱力扣題目解答流程

 

2. 左外連接 left join

結果集保留左表的所有行,但右表只包含與左表匹配的行。右表相應的空行為NULL值。

?
1
2
3
4
5
select
    classa.id as aid,classb.id as bid
from
    classa
left join classb on classa.id = classb.id;

SQL刪除重復的電子郵箱力扣題目解答流程

 

3. 右外連接 right join

結果集保留右表的所有行,但左表只包含與右表匹配的行。左表相應的空行為NULL值。

?
1
2
3
4
5
select
    classa.id as aid,classb.id as bid
from
    classa
right join classb on classa.id = classb.id;

SQL刪除重復的電子郵箱力扣題目解答流程

 

4. 全外連接 full join

會把兩個表所有的行都顯示在結果表中。

?
1
2
3
4
5
select
    classa.id as aid,classb.id as bid
from
    classa
full join classb on classa.id = classb.id;

小伙伴們注意啦?。。?/p>

MySQL不支持full join?。。ySQL不支持full join!!!MySQL不支持full join?。?!

重要的事情要說三遍!?。∧窃趺磳崿F和full join一樣的效果呢?那就要通過使用union來實現,具體實現SQL語句如下

?
1
2
3
4
5
6
7
8
9
select
    classa.id as aid,classb.id as bid
from
    classa left join classb on classa.id = classb.id
union
select
    classa.id as aid,classb.id as bid
from
   classa right join classb on classa.id = classb.id;

SQL刪除重復的電子郵箱力扣題目解答流程

到此這篇關于SQL刪除重復的電子郵箱解答流程的文章就介紹到這了,更多相關SQL 刪除重復郵箱內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_42306958/article/details/122898528

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲一区中文字幕在线观看 | 在线视频a | 亚洲黄色特级片 | 自拍偷拍在线视频 | 91精品国产91久久久久久最新 | 欧美中文字幕 | 午夜视频网 | 国产欧美日韩专区 | 免费在线观看一区二区三区 | 国产欧美日韩一区 | 久久久综合视频 | 亚洲综合色成在线播放 | 国产丝袜在线 | 自拍偷拍 亚洲 | 精品久久99| 视频一区免费观看 | 精品视频在线一区 | 国产成人精品免高潮在线观看 | 欧美成人免费在线观看 | 偷拍自拍第一页 | 免费看黄在线观看 | 久久这里只有精品8 | 日韩成人在线播放 | 久久亚洲欧美日韩精品专区 | 一区二区三区免费在线观看 | 欧美1级片 | 一二三四区视频在线观看 | 婷婷精品久久久久久久久久不卡 | 国内毛片| 国产亚洲欧美一区 | 亚洲一区二区三区 | 可以免费看黄的网站 | 国产精品一卡二卡 | 日韩欧美一级电影 | 激情成人综合 | 在线观看欧美一区 | 成人aⅴ视频 | 亚洲美女在线视频 | 人人澡人人射 | 午夜视频福利在线观看 | 九九在线视频 |