作者回复: 可以看下这个留言,解释的很详细
作者回复: 1、查询顺序是:FROM > WHERE > GROUP BY > HAVING > SELECT 的字段 > DISTINCT > ORDER BY > LIMIT
可以看下05篇后面的内容。
你说的正确,是先进行 CROSS JOIN 求笛卡尔积,然后进行条件筛选。
2、执行的顺序会先进行ON连接,然后进行WHERE筛选。ON连接是一般连接表的方式,当我们得到数据之后,再会对数据行进行条件筛选
作者回复: 正确,大家可以参考下这个。如果是分主客场的话,是第一个SQL。如果是不重复的两个球队的比赛的话,是第二个SQL。
作者回复: 这两个SQL都正确
作者回复: SELECT p.player_name, p.height, h.height_level
FROM player AS p, height_grades AS h
WHERE p.height BETWEEN h.height_lowest AND h.height_highest
我们是用的两张表进行连接,会显示出来height,然后你需要显示height对应的height_level,这个height_level在height_grades数据表中可以查询,也就是用WHERE条件进行筛选,把对应的height_level找出来,WHERE条件为:WHERE p.height BETWEEN h.height_lowest AND h.height_highest
作者回复: 主队,客队的话 是这样的
作者回复: 对 后面有讲解到SQL99
作者回复: GitHub上有SQL文件,然后导入到MySQL里
作者回复: 这是一个好问题,有的时候是同时支持的,比如:
SELECT * FROM a, b 和 SELECT * FROM a JOIN b
但有的时候又不支持,比如在MySQL中不支持SQL92标准下的 +号方式的外连接,但是支持SQL99的外连接方式。
具体还需要参考RDBMS相关的文档,即使是同一个标准,每个RDBMS都有自己的“方言”,使用的语法也有差异。
编辑回复: 您好,文章已进行更正,谢谢您的反馈。
作者回复: Good Job
作者回复: 对的 最好自己能练习操作下
作者回复: 2个SQL正确
作者回复: 总结的不错,SQL正确