SELECT JIVE_USER_ID,
EMAIL_ID,
USER_ID
FROM VIK_USER WHERE EMAIL_ID='user@example.com';
JIVE_USER_ID EMAIL_ID USER_ID
11222 user@example.com User
SELECT VIK_USER_PROFILE.FIRST_NAME,
VIK_USER_PROFILE.LAST_NAME,
VIK_USER.EMAIL_ID
FROM VIK_USER,VIK_USER_PROFILE
WHERE VIK_USER_PROFILE.USER_ID=VIK_USER.USER_ID;
FIRST_NAME LAST_NAME EMAIL_ID
Ray User user@exmaple.com
我想使用单个块语句获取结果。如何将这两个select语句合并为一个。
谢谢。
答案 0 :(得分:3)
select VIK_USER.JIVE_USER_ID,
VIK_USER.EMAIL_ID,
VIK_USER.USER_ID,
VIK_USER_PROFILE.FIRST_NAME,
VIK_USER_PROFILE.LAST_NAME,
VIK_USER.EMAIL_ID
from VIK_USER, VIK_USER_PROFILE
where VIK_USER_PROFILE.USER_ID=VIK_USER.USER_ID
and VIK_USER.EMAIL_ID='user@example.com'
详细说明,VIK_USER和VIK_USER_PROFILE位于INNER JOIN中(逗号只是一个快捷方式)。
加入条件为VIK_USER_PROFILE.USER_ID=VIK_USER.USER_ID
。 JOIN具有连接条件,通常在两个表中共享相同值的列上。
或者,完全相同的查询可以这样写:
select *
from VIK_USER
inner join VIK_USER_PROFILE on VIK_USER_PROFILE.USER_ID=VIK_USER.USER_ID
where VIK_USER.EMAIL_ID='user@example.com';
答案 1 :(得分:0)
上面的答案根据where和where子句加入表和过滤器。 对于大表来说,这可能效率低下。 而是过滤表格中的特定ID,然后加入。