乙個新手對where和left join的疑惑

2021-07-05 00:27:23 字數 788 閱讀 4081

問題描述:在開發中 兩個表進行關聯有兩種方式,一是通過select a.*,b.* from a,b where a.id=b.id 二是select a.*,b.* from a left join b on b.id.=a.id 對此表示疑惑這兩者到底有什麼區別?

開始探索:首先建立兩個表a,b

a表 id

type11

2233

b表id

type14

41首先執行 select a.*,b.* from a, b

結果:

idtype

id1type111

1411

4122

1422

4133

1433

41對兩表進行了笛卡爾積。

然後加上where條件 select a.*,b.* from a, b where a.id=b.id

結果:id

type

id1type111

14對笛卡爾積的結果集進行了篩選

進行左連線select a.*,b.* from a left join b on b.id=a.id

結果:id

type

id1type111

1422

null

null34

null

null

對a表不做改變,將b表滿足條件的記錄插入到a表中

總結:由於沒有系統的sql學習,對這些基礎的概念很模糊,自己動手試驗一下就會對概念理解更加深刻。

多實踐,多動手。

乙個程式設計新手的誤區

之所以寫這篇文章,源於學生時代的大多數人的抱怨。即便是到了公司,這樣的人仍然不在少數,就自己的看法寫寫吧。學生時代最常聽到的話 老師讓 做,老師沒講過 在公司到沒有這樣了,改為 師傅沒教過 我以前都是 做,以前沒做過 不會做 不知道大家聽了這樣的話都是種什麼感覺呢?估計相當一部分仍然會理直氣壯吧。沒...

來自乙個前端新手的感悟

初入社會,我只是乙個前端路上飛行的菜鳥,經過一段時間的工作之後,才知道,我踩了無數的坑。希望,看過我寫的文章的同胞們,不要再和我犯同樣的錯誤。純屬個人思考 1.當負責專案中乙個模組的開發時,不要忘記,它只是專案中的乙個模組。當我拿到專案經理安排好的工作計畫書時,開始對自己負責的部分的需求進行熟悉,這...

第乙個網頁(新手向)

由於存在多個版本多種型別的html和xhtml,w3c 全球資訊網聯盟 建議在網頁文件中使用文件型別定義 document type definition,dtd,表明所使用的標記語言的型別。dtd語句通常稱為doctype語句,它位於網頁文件的頂部。eg1.使用xhtml 1.0 transiti...