gpt4 book ai didi

mysql 连接两个表与使用 in 条件

转载 作者:行者123 更新时间:2023-11-29 06:34:09 25 4
gpt4 key购买 nike

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

我想查找纽约分行 1 月总金额 > 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
  1. 上面的代码正确吗?
  2. 如果我想要城市 NYchicago 那么我可以将 where 子句修改为

其中城市代码 (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 (子查询) 好得多。

    关于mysql 连接两个表与使用 in 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54719313/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com