0
我運行了下面的腳本。 UserDetails.User#中沒有記錄,其中包含AccountDetails.User#。但是結果顯示,UserDetails中的每個用戶#與腳本中指定的每個AccountDetails.account#一起使用3次。 當SQL連接語句中沒有匹配時,它是否不返回任何內容?SQL連接語句返回意外的記錄
的數據類型和採樣值一點背景:
UserDetails.user#
datatype = varchar(520)
values in (1,0)
AccountDetails.user#
datatype = varchar(11)
values in (22054414,28581057,26178648)
我跑的腳本:
SELECT a.account# , a.userNum , u.userNum, u.Name
FROM AccountDetails a
JOIN UserDetails u ON a.userNum = u.userNum
WHERE a.account# IN (87173000,11900008,79000082)
樣品結果:
account#, a.userNum, u.userNum , u.Name
87173000, 22054414, 1, Joe Blow
87173000, 28581057, 1, John Smith
11900008, 22054414, 1, Joe Blow
11900008, 28581057, 1, John Smith
79000082, 22054414, 1, Joe Blow
79000082, 28581057, 1, John Smith
我通常使用內部聯接,而不是爲了可讀性而加入;但我不明白這對此有何幫助。 (除非引擎看到它作爲交叉連接(它不應該))添加內部只是爲了嘗試? – xQbert 2011-12-17 01:37:45