簡體   English   中英

mysql(i):從多個表中選擇數據?

[英]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.

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