佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > SQL實(shí)現(xiàn)LeetCode(175.聯(lián)合兩表)

SQL實(shí)現(xiàn)LeetCode(175.聯(lián)合兩表)

熱門標(biāo)簽:服務(wù)外包 Linux服務(wù)器 AI電銷 網(wǎng)站排名優(yōu)化 百度競價(jià)排名 呼叫中心市場需求 鐵路電話系統(tǒng) 地方門戶網(wǎng)站

[LeetCode] 175.Combine Two Tables 聯(lián)合兩表

Table: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
PersonId is the primary key column for this table.

Table: Address

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+
AddressId is the primary key column for this table.

Write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people:

FirstName, LastName, City, State

LeetCode還出了是來到數(shù)據(jù)庫的題,來那么也來做做吧,這道題是第一道,相對(duì)來說比較簡單,是一道兩表聯(lián)合查找的問題,我們需要用到Join操作,關(guān)于一些Join操作可以看我之前的博客SQL Left Join, Right Join, Inner Join, and Natural Join 各種Join小結(jié),最直接的方法就是用Left Join來做,根據(jù)PersonId這項(xiàng)來把兩個(gè)表聯(lián)合起來:

解法一:

SELECT Person.FirstName, Person.LastName, Address.City, Address.State FROM Person LEFT JOIN Address ON Person.PersonId = Address.PersonId;

在使用Left Join時(shí),我們也可以使用關(guān)鍵Using來聲明我們相用哪個(gè)列名來進(jìn)行聯(lián)合:

解法二:

SELECT Person.FirstName, Person.LastName, Address.City, Address.State FROM Person LEFT JOIN Address USING(PersonId);

或者我們可以加上Natural關(guān)鍵字,這樣我們就不用聲明具體的列,MySQL可以自行搜索相同的列:

解法三:

SELECT Person.FirstName, Person.LastName, Address.City, Address.State FROM Person NATURAL LEFT JOIN Address;

參考資料:

https://leetcode.com/discuss/21216/its-a-simple-question-of-left-join-my-solution-attached

https://leetcode.com/discuss/53001/comparative-solution-between-left-using-natural-left-join

到此這篇關(guān)于SQL實(shí)現(xiàn)LeetCode(175.聯(lián)合兩表)的文章就介紹到這了,更多相關(guān)SQL實(shí)現(xiàn)聯(lián)合兩表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • SQL實(shí)現(xiàn)LeetCode(183.從未下單訂購的顧客)
  • SQL實(shí)現(xiàn)LeetCode(182.重復(fù)的郵箱)
  • SQL實(shí)現(xiàn)LeetCode(181.員工掙得比經(jīng)理多)
  • SQL實(shí)現(xiàn)LeetCode(180.連續(xù)的數(shù)字)
  • SQL實(shí)現(xiàn)LeetCode(178.分?jǐn)?shù)排行)
  • SQL實(shí)現(xiàn)LeetCode(177.第N高薪水)
  • SQL實(shí)現(xiàn)LeetCode(176.第二高薪水)
  • SQL實(shí)現(xiàn)LeetCode(184.系里最高薪水)

標(biāo)簽:衡水 銅川 仙桃 崇左 湖南 蘭州 湘潭 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL實(shí)現(xiàn)LeetCode(175.聯(lián)合兩表)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    宜宾市| 固始县| 视频| 仙居县| 宝丰县| 万年县| 巴东县| 沛县| 安宁市| 浙江省| 兴文县| 深水埗区| 达孜县| 清苑县| 十堰市| 合肥市| 万安县| 珠海市| 大荔县| 西丰县| 河津市| 静安区| 安陆市| 湖北省| 巴东县| 郧西县| 菏泽市| 泰宁县| 阳高县| 麟游县| 普定县| 青阳县| 宜君县| 莆田市| 新竹县| 叙永县| 锦屏县| 古浪县| 海晏县| 武乡县| 山西省|