SQL
- 升序:ASC 降序DESC
- LIMIT 该字句告诉MySQL每次显示查询出来的数据块条数。
- COUNT(*)计算表中总的行数,不管某列有数值或者为空值
- COUNT(字段名),计算指定列下的行数,计算时将忽略空值的行。
- 在子查询中不能使用ORDER BY 它只能对最终查询结果进行排序。
- 相关子查询的执行依赖于外部查询。多数情况下是子查询的WHERE子句中引用了外部查询的表。
执行过程:
(1)从外层查询中取出一个元组,将元组相关列的值传给内层查询。
(2)执行内层查询,得到子查询操作的值。
(3)外查询根据子查询返回的结果或结果集得到满足条件的行。
(4)然后外层查询取出下一个元组重复做步骤1-3,直到外层的元组全部处理完毕。 - 非相关子查询的执行不依赖与外部的查询。
执行过程:
(1)执行子查询,其结果不被显示,而是传递给外部查询,作为外部查询的条件使用。
(2)执行外部查询,并显示整个结果。 - LEFT JOIN :返回LEFT OUTER 子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果行中,右表的所有选择列值为空值。
ex:学生表 班级表
SELECT stu.sid, class.cid FROM stu LEFT OUTER JOIN class ON stu.cid=class.cid
结果
sid | cid |
---|---|
01 | a |
02 | a |
03 | null |
3号学生没有班级也可以显示出来
- RIGHT JOIN就是反着来 把右表的行全部展示出来