SQL必知必會 第十二課 筆記 聯結表

2021-08-20 15:03:08 字數 1312 閱讀 3433

第12課 聯結表

這一課會介紹什麼是聯結,為什麼使用聯結,如何編寫使用聯結的select語句。

12.1 聯結

12.1.2 為什麼使用聯結

如果資料儲存在多個表中,怎樣用一條select語句就檢索出資料呢?——答案是使用聯結。簡單說,聯結是一種機制,用來在一條select語句中關聯表,因此稱為聯結。使用特殊的語法,可以聯結多個表返回一組輸出,聯結在執行時關聯表中正確的行。

12.2 建立聯結

建立兩個表:乙個儲存**商資訊,另乙個儲存產品資訊。vendors表包含所有**商資訊,每個**商佔一行,具有唯一的標識,**商id作為主鍵;products表只儲存產品資訊,除了儲存**商id外,它不儲存其他有關**商的資訊。vendors表的主鍵將vendors表與products表關聯,利用**商id能從vendors表中找出相應**商的詳細資訊。

select vend_name, prod_name, prod_price

from vendors, products

where vendors.vend_id = products.vend_id;

可以看到,要匹配的兩列指定為vendors.vend_id和products.vend_id。這裡需要這種

完全限定列名

12.2.2 內聯結

目前為止使用的聯結稱為等值聯結(equijoin),它基於兩個表之間的相等測試。這種聯結也稱為

內聯結(inner join)。其實,可以對這種聯結使用稍微不同的語法,明確指定聯結的型別。下面的select語句返回與前面例子完全相同的資料:

select vend_name, prod_name, prod_price

from

vendors

inner join

products

on vendors.vend_id = products.vend_id;

12.2.3 聯結多個表

select prod_name, vend_name, prod_price, quantity

from orderitems, products, vendors

where products.vend_id = vendors.vend_id

and

orderitems.prod_id = products.prod_id

SQL必知必會 聯結表

sql必知必會 讀書筆記 1.關係表 將這些資料與產品資訊分開儲存的理由市 關鍵是,相同的資料出現多次決不是一件好事,這是關聯式資料庫設計的基礎。關係表的設計就是要把資訊分解成多個表,一類資料乙個表。各表通過共同的值互相關聯 所以才叫關係資料框 所以建立兩個表 乙個儲存 商資訊,另乙個儲存產品資訊。...

MySQL必知必會筆記(十二) 聯結表

輸入 select vend name,prod name,prod price from vendors,products where vendors.vend id products.vend id order by vend name,prod name 輸出 笛卡爾積 由沒有聯結條件的表關係...

SQL必知必會筆記十三(建立高階聯結)

另外一些聯結 包括它們的含義和使用方法 介紹如何使用表別名,如何對被聯結的表使用聚集函式。例如 給列起別名 select rtrim vend name rtrim vend country as vend title from vendors order by vend name sql除了可以對...