查詢sql:
SELECT
count(1)
FROM
表1 d
LEFT JOIN
(
SELECT * from 表2
) a ON 表2.欄位1= 表1.欄位2
left join后的表方式:
1、left join 表名
2、left join (select * from 表名)
3、left join(selec * from 表名 limit 0,99999)表中的資料量小于99999
這三種連接查詢,現在的情況是第一種和第二種都查詢不出來,第三種可以查詢出來。
而且:前天的情況是,第一種不行,第二種行,昨天發現,第二種也不行了,但是第一種和第三種可以,于是選用了第三種。
所以,現在想要知道他們之間的差異,當資料庫的數量越來越多,limit后的資料就需要修改,不太可取。
麻煩大家看看這個問題,有沒有什么解決辦法或者思路,謝謝!
uj5u.com熱心網友回復:
SELECTcount(1)
FROM
表1 d
LEFT JOIN
表2
a ON 表2.欄位1= 表1.欄位2
uj5u.com熱心網友回復:
1、2種效果一樣,不過不建議按第2種方式寫,第三種是用表1關聯的表2的前99999條資料,這種方式一般情況是由于特殊需求才這樣寫。如果查詢慢建議將表2.欄位1 、表1.欄位2添加索引uj5u.com熱心網友回復:
第二種,第三種不要用, 效率極低,不符合阿里規范,連表還帶子查詢 = =; 你的意思是第二張表中資料量比較大 ?你試試SELECT
count(1)
FROM
表1
沒連 和你連起來看看有什么區別
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/7123.html
標籤:MySQL
上一篇:利用StackExchange.Redis操作redis事務會產生ABA情況
下一篇:幫忙看看這錯哪里了
