175 組合兩個表 SQL

2021-10-05 03:36:40 字數 1235 閱讀 1555

sql架構

表1: person

+-------------+---------+

| 列名 | 型別 |

+-------------+---------+

| personid |

int|

| firstname |

varchar

|| lastname |

varchar|+

-------------+---------+

personid 是上表主鍵

表2: address

+-------------+---------+

| 列名 | 型別 |

+-------------+---------+

| addressid |

int|

| personid |

int|

| city |

varchar

|| state |

varchar|+

-------------+---------+

addressid 是上表主鍵

編寫乙個 sql 查詢,滿足條件:無論 person 是否有位址資訊,都需要基於上述兩表提供 person 的以下資訊:firstname, lastname, city, state

晚上準備做幾道題。開啟leetcode發現怎麼還有sql的題……這道題要求最後執行sql語句後得到的資訊有firstname, lastname, city, state,其中前兩個在表person中,後兩個在表address中,兩個表的聯絡是personid,因此肯定要用到表的連線。然後再看題目,題目要求無論address表中的city和state是否為null,都要返回firstname, lastname, 因此直到這裡要用左連線,連線的點就是personid。

select firstname, lastname, city, state

from person p

left

join address a

on p.personid = a.personid

175 組合兩個表

表1 person 列名 型別 personid int firstname varchar lastname varchar personid 是上表主鍵 表2 address 列名 型別 addressid int personid int city varchar state varchar ...

175 組合兩個表

sql架構 表1 person 列名 型別 personid int firstname varchar lastname varchar personid 是上表主鍵 表2 address 列名 型別 addressid int personid int city varchar state va...

175 組合兩個表

表1 person personid primary key,int firstname varchar lastname varchar personid 是上表主鍵 表2 address addressid primary key,int personid int city varchar st...