日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql外联多表查询

發布時間:2023/12/18 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql外联多表查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

🔑 外聯查詢,就是把兩張表按照某個條件合并成一張新表

  • 比如說:學生數據,課程數據,班級數據,這些數據不可能全部寫在同一張表里面,肯定是分成三張表,每張表只存對應的數據,當需要的時候,使用外聯查詢把這些數據串成一張某些字段我們需要的表

案例:
?? 首先有下面三張表

  • 學生表
    c_s_uuid:學生唯一標識
    c_s_name: 學生姓名
    c_s_class: 所學課程的uuid

    2.課程表
    c_uuid: 課程唯一標識
    c_name: 課程名
    c_add: 上課地址唯一標識

    3.上課地點表
    c_d_uuid: 上課地點唯一標識
    c_d_pos: 上課地點
  • ?? 需求:獲取學生,學生上課地址兩個字段的一張表(或者視圖),如下圖:

  • 步驟一:先把學生表和課程表進行外聯組合

    SELECT* FROMc_student AS aLEFT JOIN c_leason AS b ON b.c_uuid = a.c_s_class

    得到表:

  • 步驟二:接下來用這張外聯出來新表去外聯上課地點表

    SELECT* FROMc_student AS aLEFT JOIN c_leason AS b ON b.c_uuid = a.c_s_classLEFT JOIN c_address AS c ON c.c_d_uuid = b.c_add # 注意! 我們要外聯的條件字段是從哪張表合并過來的, # 就去哪張表里取。雖然說外聯之后得到了一張新的表,但是取新表的字段的時候,還是要從舊表里面找

    得到表:

  • 步驟三:從上面這張兩次外聯的表中得到字段數據,組成新的表(視圖)

    # 取的規則也是和外聯的規則一樣,雖然外聯之后合并成了新表,但拿字段的時候還是要從字段來的那張表拿SELECTa.c_s_name, # 學生姓名的字段在a表上c.c_d_pos # 上課地點字段在c表上 FROMc_student AS aLEFT JOIN c_leason AS b ON b.c_uuid = a.c_s_classLEFT JOIN c_address AS c ON c.c_d_uuid = b.c_add

    最后的結果:

  • 總結

    以上是生活随笔為你收集整理的mysql外联多表查询的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。