我在MySQL數據庫中有三個表:語言查找表,動物查找表和第三個表,描述每種語言中每個動物的稱謂。如果沒有匹配的記錄,則選擇NULL作爲JOIN中的值
Table: languages language_id language_name Table: animals animal_id animal_code animal_name Table: language_animal_codes language_animal_code_id language_id animal_id language_animal_code
的語言和language_animal_codes表填充。我需要爲用戶創建一個表單來填充動物表。當然,在動物表完全填充之前,一些language_animal_codes.animal_id將爲空。
我需要查詢包含了每個動物被稱爲在這樣每種語言的記錄:
SELECT e.language_name, ecc.language_animal_code FROM language_animal_codes ecc, languages e WHERE e.language_id = ecc.language_id
結果集是這樣的:
language_name | language_animal_code ------------------------------------ English | cat French | chat English | dog
這讓我中途到我想要的。我還需要知道從動物表animal_code如果記錄存在,否則我需要animal_code欄爲空:
language_name | language_animal_code | animal_code -------------------------------------------------- English | cat | Felis catus French | chat | Felis catus English | dog | NULL
這似乎是它應該是一個普遍的問題,但我不能想出在搜索查詢表上的連接表時搜索術語時適用的任何內容。