mysql:左連接、內連接、in()語句以及對比


左連接:

格式: 
select 列1,列2,列N from 
tableA left join tableB 
on tableA.列 = tableB.列(正常是一個外鍵列) [此處表連接成一張大表,完全當成一張普通表看] 
where,having,group by …照常寫。

理解: 
左連接:即以左表為基准,到右表找匹配的數據,找不到匹配的用NULL補齊。

右連接和左連接類似,不再贅述,更加推薦左連接。

內連接:

select 列1,列2,列N from 
tableA inner join tableB 
on tableA.列 = tableB.列(正常是一個外鍵列) [此處表連接成一張大表,完全當成一張普通表看] 
where,having,group by …照常寫。

理解:

內連接:查詢左右表都有的數據,不要左/右中NULL的那一部分 
內連接是左右連接的交集。

in語句:

1、in 后面是記錄集,如:

select * from table where uname in(select uname from user);

2、in 后面是字符串,如:

select * from table where uname in(‘aaa’,bbb’,’ccc’,’ddd’,’eee’,ffff”);

注意:這里一定要將字符串用單引號” 標注起來;

我們在查詢的時候,一般來講是左連接的效率比較高,推薦使用左連接
而不是in語句。 但是也是會有特殊的情況。需要放到實際業務場景來看待。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM