多個表的關聯查詢即多表查詢,而多個表關聯查詢需要依據多表之間列關係將其連線起來,這種連線方式分為三種:內連線(inner join)、外連線(outer join)及交叉連線(cross join)
我們先建立乙個**
並且插入資料
然後使用單錶查詢來查詢資料
單錶查詢固然快捷,但如果兩張表的資料有關聯時,需要查詢其共同資料時便需要多表查詢。
①顯式等值連線:
②隱式等值連線:
執行結果
可以看到,兩表之間的共同資料被查詢出來,因此內連線往往用於查詢表之間的共同資料
分為左外連線、右外連線、全連線(mysql資料庫不支援全連線)
這時執行結果一樣
因為:①如果是right , 則 right右邊是主表,左邊是從表,將主表資料全部顯示出來,哪怕是從表沒有的資料
②如果是left , 則 left左邊是主表,右邊是從表,將主表資料全部顯示出來,哪怕是從表沒有的資料
上面的連線**中實際上主從表並沒有改變,因此執行結果一樣。
左表(「cross join」關鍵字左邊的表)中的每一行與右表(「cross join」關鍵字右邊的表)中的所有行組合,交叉聯接的結果是乙個笛卡爾積。
沒有太大的意義,一般不使用。
資料庫 MySQL多表查詢
某教學資料結構大概如下 表1 student 學生表 sid,name,age,gender表2 course 課程表 cid,name,teacher表3 score 成績表 sid,cid,score 成績 編寫sql語句查詢所有學習課程名為python的學生資訊,實現語句如下 select s...
MySQL資料庫多表查詢
多表查詢 多個有關係的表關聯查詢。user info表 create table user info id int 2 primary key,user name varchar 12 unique password varchar 15 not null real name varchar 8 n...
資料庫的多表查詢 mysql
dml sql語句的乙個分類,dml主要完成資料庫表中資料的維護,即 新增 刪除 修改 實體完整性 表中不能出現兩行完全一樣的資料 解決方案 給表中新增主鍵 id 讓該列的值唯一 域完整性 表中的值必須正確,在mysql8.0之後,可以使用check關鍵字實現 引用完整性 自定義完整性 需要根據業務...