2012-06-18 5 views
0

USERS 및 EMP라는 두 개의 테이블이 있습니다.선택 DISTINCT 값은 두 개의 테이블을 형성하고 두 테이블을 비교합니다.

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 

이없이 내가 = 사용자 ID는 다음 출력

그에 대한 쿼리는 무엇인가 .. 같은 사용자 이름과 useraddress을 보여 EMPID 경우,이

처럼보고 싶은 테이블입니까?

답변

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 
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 
,
+0

이것은 약간 다른 결과입니다. 나는 그것이 당신이 질문을 어떻게 해석하는지에 달려 있다고 생각한다. :-) – Kerbocat

0
SELECT u.username, u.useraddress 
FROM USERS u INNER JOIN EMP e 
ON u.userid = e.empid; 
0

당신은 또한 MySQL의에서 다음과 같이 쿼리를 사용할 수 있습니다 : 내부와

SELECT USERS.username, EMP.useraddress FROM USERS,EMP WHERE EMP.id=USERS.userid 
0

바인딩 두 테이블 쿼리를

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

에 가입하지만이 쇼의 모든 기록에는이 이러한 쿼리에 가입 할 수 있습니다 것입니다 userid에있는 사용자의 왼쪽 조인 또는 empid의 emp에 대한 오른쪽 조인

관련 문제