2018-10-26多表關(guān)聯(lián)&嵌套

一、多表關(guān)聯(lián)

兩表關(guān)聯(lián)必須得有一個(gè)關(guān)聯(lián)字段

  • 14245353-d2b14f4a1941f56b.png

    下圖中的 cst_id 為 us 和 cu 里面的共同關(guān)聯(lián)字段

關(guān)聯(lián)方法

  1. where
  • 第一步 拿兩表數(shù)據(jù)做笛卡爾乘積
  • 第二步 根據(jù)where條件進(jìn)行篩選


    14245353-ce69b5417f6685e2.png
  1. join
  2. 原理
  • 第一步 先用on條件進(jìn)行數(shù)據(jù)篩選
  • 第二步 滿足條件的顯示,不滿足條件的丟棄


    14245353-b94521c5accf8bf4.png
  1. 內(nèi)連接
  • 只顯示滿足條件的數(shù)據(jù) 用 join 或者 inner join 進(jìn)行連接


    14245353-67a3b5c0a639bb66.png
14245353-689090322340c7ce.png
  • 格式
    select * from 表1 join 表2 on 連接條件

3. 左連接 left join

左表為主表,左表中所有數(shù)據(jù)都顯示,右表中只顯示滿足條件的數(shù)據(jù),如若右表沒有數(shù)據(jù),則用null表示。


14245353-d4fd1c7af619c1a0.png

格式

  • select * from 表1 left join 表2 on 連接條件
  1. 右連接 right join
    右表為主表,右表中所有數(shù)據(jù)都顯示,左表中只顯示滿足條件的數(shù)據(jù),如若左表沒有數(shù)據(jù),則用null表示


    14245353-aaba22bfb2d58c33.png

    14245353-447976955158ec07.png

    格式

  • select * from 表1 right join 表2 on 連接條件

二、嵌套

14245353-4d0112e8ff2d73ab.png

21、查詢成績高于學(xué)號(hào)為“109”、課程號(hào)為“3-105”的成績的所有記錄。
SELECT * FROM scoresWHERE degree>(SELECT MAX(degree) FROM scores WHERE sno='109')AND cno='3-105';
22、查詢和學(xué)號(hào)為108的同學(xué)同年出生的所有學(xué)生的Sno、Sname和Sbirthday列。
SELECT sbirthday FROM students WHERE sno='108';
SELECT sno,sname,sbirthday FROM students WHERE sbirthday =(SELECT sbirthday FROM students WHERE sno='108');
23、查詢“張旭“教師任課的學(xué)生成績。
SELECT tno FROM teachers WHERE tname ='張旭'; -- 根據(jù)姓名查找tno
SELECT cno FROM coursesWHERE tno=(SELECT tno FROM teachers WHERE tname ='張旭'); -- 根據(jù)上一步的 tno 查找 cno
SELECT degree FROM scores WHERE cno = (SELECT cno FROM coursesWHERE tno=(SELECT tno FROM teachers WHERE tname ='張旭')); -- 根據(jù)上一步的cno展示degree

14245353-41928340d95741d1.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1).創(chuàng)建數(shù)據(jù)庫 create database學(xué)生選課數(shù)據(jù)庫 2).創(chuàng)建四張表 Create table Stu...
    blvftigd閱讀 1,690評(píng)論 0 0
  • 最近打算采用關(guān)系型數(shù)據(jù)庫來理一下公司的運(yùn)營數(shù)據(jù),先拿點(diǎn)東西練手找感覺。下面是幾個(gè)關(guān)于學(xué)生課業(yè)的表,需要建立一個(gè)數(shù)據(jù)...
    九天朱雀閱讀 1,046評(píng)論 0 3
  • 一、多表關(guān)聯(lián) 兩表關(guān)聯(lián)必須得有一個(gè)關(guān)聯(lián)字段 下圖中的 cst_id 為 us 和 cu 里面的共同關(guān)聯(lián)字段cst_...
    就是注冊簡書的閱讀 284評(píng)論 0 0
  • 不知不覺,冬天慢慢逼近并完全成為主角,在舞臺(tái)上肆意揮灑它的威力。似乎昨天還穿著風(fēng)衣,敞著前擺,瀟灑自如的出入,如今...
    憶君追夢閱讀 882評(píng)論 0 2
  • 開了個(gè)屬于自己的公眾號(hào)。就是這么地突然。斜杠青年,指的是這樣一個(gè)人群:他們不滿足單一職業(yè)和身份的束縛,而是選擇一種...
    飛兒FLY閱讀 179評(píng)論 0 0

友情鏈接更多精彩內(nèi)容