2015-06-22 106 views
2

我有兩個SQL表匹配列:users & userGroup有類似的數據:SQL查詢跨越兩個表

用戶

user  | age | gender 

    testUserA, 25, Male 
    testUserB, 30, Female 
    testUserC, 35, Male 

userGroup表示

user  | group 

testUserA, groupA 
testUserB, groupA 
testUserC, groupB 

我會如何短語查詢列出男性用戶s在A組?

+1

你會使用'JOIN'和'WHERE'。這是非常基本的SQL。 –

+0

請告訴我們你已經嘗試了什麼,並告訴我們你正在使用哪個數據庫。 –

+0

您正在使用哪種RDBMS? (MySQL,SQL Server,Oracle等?) – potashin

回答

3

所有你需要的是一個joinwhere條款過濾gendergroup

select u.user 
from user u 
join userGroup ug on u.user = ug.user 
where u.gender = 'Male' 
    and ug.group = 'groupA' 
+1

太棒了,謝謝!我幾年沒有使用過SQL,也找不到正確的命令。 (我試圖聯合它。) – arby

0

該查詢會將兩個表連接在一起,並按性別進行過濾。

SELECT u.User, u.Gender, ug.Group 
FROM user u 
INNER JOIN userGroup ug 
ON u.user = ug.user 
WHERE u.gender = 'Male' 
AND ug.Group = 'groupA'; 
+0

您忘記了'WHERE'子句中的組限制。 –

0

下面是做這件事:

select a.user, a.age, a.gender, b.group from users as a 
inner join userGroup as b on a.user=b.user 
where a.gender='Male' and b.group='groupA'