初学时,对于什么时候该用什么关键字进行条件的筛选十分迷茫,搜索了大部分博客也都是不知所云
这几日重新回顾mysql,把教程的教案拿出来细看,找到了一些语法规定,希望有帮助
--------------------------------------------------------------------------------------
表连接的约束条件可以有三种方式:WHERE, ON, USING
-
WHERE:适用于所有关联查询
-
ON:只能和JOIN一起使用,只能写关联条件。虽然关联条件可以并到WHERE中和其他条件一起写,但分开写可读性更好。
-
USING:只能和JOIN一起使用,而且要求两个关联字段在关联表中名称一致,而且只能表示关联字段值相等
内连接的两种写法
-
隐式:
from 表A,表B,表C where 条件
(隐式用的很多很多,特别在后期mysql高级,用where的多,join的少,where易于阅读) -
显式:
from 表A INNER JOIN 表B INNER JOIN 表C on 条件
mysql不支持FULL JOIN,但是可以用 left join union right join代替
having与where类似,可筛选数据 having与where不同点
-
where针对表中的列发挥作用,查询数据;having针对查询结果中的列发挥作用,筛选数据
-
where后面不能写分组函数,而having后面可以使用分组函数
-
having只用于group by分组统计语句
having只用于group by分组统计语句
having只用于group by分组统计语句
having只用于group by分组统计语句