整理复习SQL
1 具体的数据
本质就是三个连接:
[上篇:介绍SQL
的语法顺序和执行顺序](https://www.zhihu.com/question/20116482/answer/615313891)
[中篇:介绍条件子句、分组查询和排序的细节](https://www.zhihu.com/question/20116482/answer/615313891)
[下篇:表的连接和其他常用关键字](https://www.zhihu.com/question/20116482/answer/615313891)
2 联结
2.1 自然连接
两个表的关系使用INNER JOIN来指定,联结使用特定的ON子句进行指定,但是实际条件传递和使用WHERE一样。
SELECT vend_name, prod_name, prod_price
FROM Vendors INNER JOIN Products
ON Vendors.vend_id = Products.vend_id;
连接可以连接多个表格
2.2 高级连接
- 自联结:
- 等值连接:ON A.id=B.id
- 不等值连接:ON A.id > B.id
- 自连接:SELECT * FROM A T1 INNER JOIN A T2 ON T1.id=T2.pid
- 自然联结
- 外联结:
- 左外连接:LEFT OUTER JOIN, 以左表为主,先查询出左表,按照ON后的关联条件匹配右表,没有匹配到的用NULL填充,可以简写成LEFT JOIN
- 右外连接:RIGHT OUTER JOIN, 以右表为主,先查询出右表,按照ON后的关联条件匹配左表,没有匹配到的用NULL填充,可以简写成RIGHT JOIN
视图
- 为什么要使用视图?什么是视图?所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和行数据;视图根本用途:简化sql查询,提高开发效率。
结尾
唉,尴尬