多表鏈結的問題

2021-09-01 18:06:54 字數 523 閱讀 1250

select a.*,b.*,c.*,d.*from a

left join b on a.id=b.id

left join c on a.id=c.id

left join d on a.id=d.id

where a.id in (....);

首先會把a和b按照id 關聯,得出來的合集再和進行關聯,依次類推;

如果a裡id=1的記錄有4條,a 和b有相同id 的記錄有0條,和 c 有2條,和的有3條,那麼首先a和b關聯,得出4條,再和c關聯得出8條,再和d關聯得出24條;

舉例說明:

(用事實表和a、b、c三張表關聯)三張錶用company_id 和 customer_no關聯,a表沒有相應記錄,所以a表的列為空,b表有三條記錄,c表有兩條記錄,最有一列中有值的行說明的問題是,這樣的關聯是有問題的,準確地應該只有一行有值,但是因為關聯的字段相等且不唯一導致。

多表鏈結查詢語句

多表查詢常涉及到到表連線的問題,主要涉及到內連線 inner join 外連線 left join or left outer join right join or right outer join full join 和交叉連線 cross join inner join 也叫等值鏈結。內連線具有...

mysql 多表鏈結查詢

我要做乙個按銷售數量排序的查詢sql操作,現在有如下3個表,要求獲取d product表中的所有資料 包括沒有銷售記錄的資料 以及d item表中的銷售數量 product num欄位的值 查詢條件是d category表的id,按d item表中的銷售數量 product num欄位的值 請問這樣...

MySQL 多表鏈結查詢

多表鏈結查詢時從多個表中獲取資料 table reference inner join outer join table reference on conditional expr 根據連線條件從多個表中查詢選擇資料,顯示這些表中與連線條件匹配的資料行,組合成新紀錄 就是匹配兩表相同的行 交集 內連...