當連接兩個表時,請記住,一個是正常的父(一個與主鍵要鏈接),另一個是孩子(一個與國外鍵)。
與JOIN
子句的SQL語句採用以下模式:
select *
from child inner join parent on child.fk = parent.pk
其中fk
是外鍵和pk
是主鍵。
由於兩個JOIN
和=
是對稱的,你可以寫他們無論哪種方式。例如:
select *
from parent inner join child on child.fk = parent.pk
在你的情況,這會導致:
select *
from reservation inner join banquethall on banquet_hall_id = banquenthall.id
(我假設你的表banquet hall
真的banquethall
:否則你就需要仔細報價名稱:"banquet hall"
)。
A WHERE
子句總是遵循表格表達式。你的情況:
select *
from reservation inner join banquethall on banquet_hall_id = banquenthall.id
where reservation.id=1;
-- where banquethall.id=1;
既然你加入其中有重複列名(id
)表,必須限定不明確的列名。
我想要做的實際上是選擇所有使用預訂ID – okaSKR