簡體   English   中英

從表中獲取所有數據,有時將該表與另一個表相關聯

[英]Get all the data from a table and sometimes relate that table with another

我的問題是: 我可以這樣做嗎? 我嘗試了很多東西,其中一些是:

我需要表A中的所有信息,有時我需要將此表與表B聯系起來 我的問題是,當我加入兩個表時,如果表A中的特定參數不在表B中,只要給出specific parameter are的記錄,但我想要所有記錄。

表A.

|--------------------------------|
|           Table A              |
|-------------------|------------|
| id_table_A | name | id_table_B |
|------------|------|------------|
|   1        | Joe  |  1         |
|------------|------|------------|
|   2        | Ben  |            |
|------------|------|------------|
|   3        | Lya  |            |
|------------|------|------------|
|   4        | luis |  2         |
|------------|------|------------|

表B.

|----------------------|
|      Table B         |
|----------------------|
| id_table_B | Elements|
|------------|---------|
|   1        |    Car  | 
|------------|---------|
|   2        |    Byke | 
|------------|---------|
|   3        |    Moto | 
|------------|---------|

我希望在我的視圖中顯示的是:

|------------|------|------------|
| id_table_A | name | Elements   |
|------------|------|------------|
|   1        | Joe  |  Car       |
|------------|------|------------|
|   2        | Ben  |            |
|------------|------|------------|
|   3        | Lya  |            |
|------------|------|------------|
|   4        | luis |  Byke      |
|------------|------|------------|

我的模型在我的模型中,這是我嘗試過的:

"SELECT * FROM table_A, table_B where table_A.id_table_B = table_B.id_table_B"

但是這個查詢只顯示數據1和4 這可以做到或不做? 提前致謝。

您可以使用左連接

SELECT * 
FROM table_A
left join table_B on table_A.id_table_B = table_B.id_table_B

當表之間的鍵可能不總是匹配時,使用左連接。 在這種情況下,左連接在可能的情況下檢索正確的匹配,並且在不可能時值變為NULL

SQL LEFT JOIN文檔

您需要一個顯式的LEFT JOIN ,而不是在您只是列出這樣的表時使用的隱式INNER JOIN https://www.w3schools.com/sql/sql_join_left.asp

暫無
暫無

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

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