gpt4 book ai didi

mysql - 应该以什么顺序解释代码?

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:31 25 4
gpt4 key购买 nike

我正在尝试解释此 SQL 代码,但无论我如何尝试,我都没有得到正确的输出。表格是:

  T1     T2
C1 C2 C1 C2
A 1 A 4
A 2 A 2
B 2 B 2
C 1 D 5

我是不是从错误的方向(向上 -> 向下)读取代码?SELECT DISTINCT,这是否意味着我应该省略每个表中重复的行之一?

我应该从条件 T1.C1=T2.C1 加入表开始吗?

我自己的输出是:

A 1 A 4
A 2 A 2
B 2 B 2

正确的输出是:

A 2 A 2
A 2 A 4
B 2 B 2

有问题的代码:

SELECT DISTINCT T1.C1, T1.C2, T2.C1, T2.C2
FROM T1
JOIN T2 ON T1.C1 = T2.C1
WHERE T1.C2 IN (2, 4)

最佳答案

在您习惯之前,SQL 语句流程有点奇怪。

首先,你命名数据源,在你的例子中是用它制作的虚拟表。

FROM T1
JOIN T2 ON T1.C1 = T2.C1

接下来,您过滤数据源。

WHERE T1.C2 IN (2, 4)

接下来,您可以在输出结果集中选择您想要的列:

SELECT T1.C1, T1.C2, T2.C1, T2.C2 

接下来,您通过插入 DISTINCT 子句或使用 GROUP BY 子句来聚合数据。

接下来使用 ORDER BY 子句对其进行排序。你没有。没关系。

这就是像您这样的 SQL 查询的逻辑结构。但请记住,MySQL 和其他 SQL 表服务器有数千年的程序员致力于优化这些东西。

关于mysql - 应该以什么顺序解释代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55600763/

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