[英]mysql(i): Selecting data from multiple tables?
假如我有2張桌子。 第一個包含用戶ID和他們的名字。 第二個包含用戶ID及其姓氏,但此表中的行可能存在也可能不存在,具體取決於用戶是否已使用其姓氏。
我想同時選擇名字和姓氏,但如果只存在名字,那么就自己選擇。
我不能使用這樣的東西,因為如果第二個表行不存在,那么它什么都不返回:
$db->query("select firstname.fname, lastname.lname from firstname, lastname where firstname.userid = lastname.userid");
謝謝。
SELECT f.fname, l.lname
FROM firstname f
LEFT JOIN lastname l
ON f.userid = l.userid
這將返回如下內容:
fname | lname
John | Doe
Bob | NULL
其中NULL
表示Bob沒有姓氏
JOIN
比您在示例中使用的笛卡爾積更{firstame,lastname}
因為它不會產生{firstame,lastname}
所有可能組合,而只會生成有意義的組合(具有相同用戶ID的組合)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.