175 組合兩個表 leetcode

2021-09-29 09:56:06 字數 1862 閱讀 9464

表1: person

+

----

----

-----+

----

-----+

| 列名 | 型別 |+--

----

-------

+---------

+| personid |

int|

| firstname | varchar |

| lastname | varchar |+--

----

-------

+---------

+personid 是上表主鍵

表2: address

+

----

----

-----+

----

-----+

| 列名 | 型別 |+--

----

-------

+---------

+| addressid |

int|

| personid |

int|

| city | varchar |

| state | varchar |+--

----

-------

+---------

+addressid 是上表主鍵

firstname, lastname, city, state

sql schema

drop

table

ifexists person;

create

table person ( personid int

, firstname varchar

(255

), lastname varchar

(255))

;drop

table

ifexists address;

create

table address ( addressid int

, personid int

, city varchar

(255

), state varchar

(255))

;insert

into person ( personid, lastname, firstname )

values(1

,'wang'

,'allen');

insert

into address ( addressid, personid, city, state )

values(1

,2,'new york city'

,'new york'

);

solution

2個表,保留其中乙個表,那麼可以用左連線表, 左邊是全部的資訊,右邊是部分的資訊,題中說的是不管有沒有位址資訊,也就是address表中的addressid可有可無, 因此address在右邊

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...