简体   繁体   English

SQL查询以匹配两个表中的列

[英]SQL query for matching a column across two tables

I have two SQL tables: users & userGroup with data like: 我有两个SQL表: usersuserGroup ,数据如下:

users : 用户

 user      | age | gender

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

userGroup : userGroup

user     | group

testUserA, groupA
testUserB, groupA
testUserC, groupB

How would I phrase a query to list the male users in groupA? 我该如何表达查询以列出groupA中的男性用户?

All you need is a join and a where clause to filter gender and group : 您只需要一个join和一个where子句来过滤gendergroup

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

This query would join the two tables together and also filter by gender. 该查询将两个表连接在一起,并按性别进行过滤。

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';

Here's one way to do it: 这是一种实现方法:

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'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM