簡體   English   中英

從兩個表sql中檢索數據

[英]Retrieve data from two tables sql

我有2個名為table1,table2的表。 table1列是t1_id,t1_name和t1_status。 table2列是t1_id,t2_id,t2_name,t2_status。 當我這樣做時,前端t1_id中的某些操作將插入到table2中。 我需要的是我希望來自table1的t1_id沒有分配或插入到table2中。

我試過這個查詢:

SELECT t1.t1_id, t1.t1_name
FROM table1 t1
LEFT OUTER JOIN table2 t2 
ON t1.t1_id != t2.t1_id

查詢的問題是,當所有t1_id都插入到table2中時,所有t1_id都再次顯示。 如何解決這個問題? (我是sql的新手,所以請不要考慮我的錯誤。)

使用null為從table1獲取在table2中沒有任何關聯的行

SELECT t1.t1_id, t1.t1_name
FROM table1 t1
LEFT OUTER JOIN table2 t2 
ON t1.t1_id = t2.t1_id
WHERE t2.t1_id IS NULL

如果我正確理解您的問題,則必須使用您需要的查詢:

SELECT t1.t1_id, t1.t1_name
FROM table1 t1
LEFT OUTER JOIN table2 t2 
ON t1.t1_id = t2.t1_id
where t2.t1_id is null

我認為這可以回答您的問題: 選擇其他表中不存在的行

SELECT t1.t1_id, t1.t1_name
FROM table1 t1 
WHERE NOT EXISTS (
SELECT 1    --it's not so relevant what you put here
FROM table2 t2 
WHERE t1.t1_id = t2.t1_id
)

我希望這有幫助。 ;-)

暫無
暫無

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

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