我有两个名为USERS和EMP的表。
USERS
-------
userid | username | useraddress
--------------------------------
1 | U1 | ADD1
2 | U2 | ADD2
3 | U3 | ADD3
4 | U4 | ADD4
EMP
-------
empid | empname
-----------------
1 | emp1
2 | emp2
3 | emp3
这些是我想要看到的表格
如果empid = userid,则显示用户名和useraddress作为输出
对此的查询是什么??
答案 0 :(得分:0)
试试这个:
select u.username, u.useraddress
from EMP e
inner join USERS u
on e.empid = u.userid
但您可能想要显示所有员工,无论他们是否是用户,那么您需要左连接:
select u.username, u.useraddress
from EMP e
left join USERS u
on e.empid = u.userid
您可以通过执行以下操作隐藏非匹配的员工将显示NULL
的事实:
select IFNULL(u.username, 'N/A'), IFNULL(u.useraddress, 'N/A')
from EMP e
left join USERS u
on e.empid = u.userid
答案 1 :(得分:0)
select case when e.empid = u.userid
then concat(username, ' ', useraddress)
else empname
end as name
from users u
full outer join emp e on e.empid = u.userid
答案 2 :(得分:0)
SELECT u.username, u.useraddress
FROM USERS u INNER JOIN EMP e
ON u.userid = e.empid;
答案 3 :(得分:0)
你也可以在MySQL中使用如下查询:
SELECT USERS.username, EMP.useraddress FROM USERS,EMP WHERE EMP.id=USERS.userid
答案 4 :(得分:0)
使用内部联接查询绑定两个表
select username as 'User Name',useraddress as 'User Address'
from USERS INNER JOIN EMP
on USERS.userid = EMP.empid;
但是它会显示所有记录。并且可以在userid上为用户加入这些查询,在empid上为emp加入右加入