簡體   English   中英

如何在兩個以上的表上執行Sql Join查詢?

[英]How to perform Sql Join Query on more than two tables?

我有一個名為“ tbl_category”的表,其中包含以下字段:

category_id int auto_increment primary key,
category_title varchar(max),
category_description varchar(max) //is the foreign key in "tbl_sub_category"

另一個表是“ tbl_sub_category”,它具有以下字段:

sub_category_id int auto_increment primary key,
sub_cateogry varchar(max),
cateogry_id int auto_increment

現在,我想顯示sub_category及其相應的category_title。 有什么可以幫助我的嗎?

使用此查詢

SELECT c.category_title, s.sub_category
FROM tbl_category c
INNER JOIN tbl_sub_category s ON c.category_id = s.category_id
SELECT sub_category,category_title FROM tbl_category,tbl_sub_category 
 WHERE tbl_category.category_id=tbl_sub_category.category_id;

這是對先前查詢的一個較小修改,如果子類別表中有對應於每個類別的條目,則先前查詢會正常工作。 如果不是這種情況,請使用外部聯接。

從tbl_category中選擇c.category_title,s.sub_category c左外部聯接tbl_sub_category s ON c.category_id = s.category_id

子類別表中的類別ID不能自動遞增。

SELECT
    s.sub_category_id,
    s.sub_cateogry,
    c.category_title
FROM
    tbl_sub_category s
INNER JOIN
    tbl_category c
    ON s.cateogry_id = c.category_id

上面的示例將僅顯示tbl_sub_category中具有tbl_category中相應外鍵的項目。 INNER JOIN聲明僅返回具有外鍵關系的行,而FROM則以tbl_sub_category開頭,以確保我們僅查看子類別。 您可以輕松地顛倒這兩個,以便將FROM放在tbl_category上,將INNER JOIN放在tbl_sub_category上,這將產生相同的結果,但是在此示例中,您更加清楚地表明您對子類別感興趣,而對類別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM