[英]mysql joining two tables vs using in condition
mysql-我有兩個下表如下
表格1
city code, city name
1, chicago
2, miami
3, NY
表2
branch,branch name, city code, day, amt
50,a,1,jan, $10
32,b,2,feb, $30
我想查找分支機構和分支機構名稱,其中紐約的brances在1月份的總amt> $ 50
我有如下代碼
select branch, branch name, sum(amt) from table2
where city code = (select city code from table1 where city name = 'NY')
and day="jan"
group by branch, branch name
having sum(amt)>50
NY
和chicago
城市,那么我可以將where子句修改為 where city code in (select city code from table1 where city name in ('NY','chicago')
您的查詢2是正確的。
聯接的等效項是:
select table2.branch, table2.branch name, sum(table2.amt)
from table2
join table1 on table1.citycode = table2.citycode
where table2.day="jan"
and table1.cityname in ('NY', 'Chicago')
group by branch, branch name
having sum(amt)>50
以我的經驗,MySQL的聯接性能要比where in (subquery)
更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.