编辑:这样做:
SELECT DISTINCT profileid
FROM profilesrelevation
WHERE profileid NOT IN (
SELECT profileid FROM profiles
)
Run Code Online (Sandbox Code Playgroud)
我需要获取profilesrelevation表中存在但不在profiles表中的profileid值
profiles表有8107个不同的"profileid"值,而profilesrelevation表有8380个不同的"profilesid"值......
profiles.profileid
profilesrelevation.profileid
select * from profiles, profilesrelevation
where profilesrelevation.profileid != profiles.profileid
Run Code Online (Sandbox Code Playgroud)
不起作用,怎么样?
OMG*_*ies 10
SELECT pr.*
FROM PROFILESREVELATION pr
LEFT JOIN PROFILES ON p.profileid = pr.profileid
WHERE p.profileid IS NULL
Run Code Online (Sandbox Code Playgroud)
SELECT pr.*
FROM PROFILESREVELATION pr
WHERE NOT EXISTS(SELECT NULL
FROM PROFILES p
WHERE p.profileid = pr.profileid)
Run Code Online (Sandbox Code Playgroud)
SELECT pr.*
FROM PROFILESREVELATION pr
WHERE pr.profileid NOT IN (SELECT p.profileid
FROM PROFILES p)
Run Code Online (Sandbox Code Playgroud)
该LEFT JOIN IS NULL是最有效的MySQL时相比,列不可为空.如果比较的列可以为空,则NOT IN和NOT EXISTS更有效.
| 归档时间: |
|
| 查看次数: |
4384 次 |
| 最近记录: |