0

USERSとEMPという2つのテーブルがあります。

 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の場合、ユーザー名とユーザーアドレスを出力として表示します

そのためのクエリは何ですか..?

4

5 に答える 5

0

MySQLでは以下のようにクエリを使用することもできます。

SELECT USERS.username, EMP.useraddress FROM USERS,EMP WHERE EMP.id=USERS.userid
于 2012-06-18T11:27:40.287 に答える
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
于 2012-06-18T11:23:14.360 に答える
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
于 2012-06-18T11:24:24.253 に答える
0
SELECT u.username, u.useraddress 
FROM USERS u INNER JOIN EMP e
 ON u.userid = e.empid;
于 2012-06-18T11:24:57.780 に答える
0

内部結合クエリで両方のテーブルをバインドします

select username as 'User Name',useraddress as 'User Address'
from USERS INNER JOIN EMP
on USERS.userid = EMP.empid;

ただし、すべてのレコードが表示されます。これらのクエリは、userid のユーザーの左結合または empid の emp の右結合で結合できます。

于 2012-06-18T11:37:48.440 に答える