整理复习SQL

活跃思想

Posted by 大狗 on January 20, 2021

整理复习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

TABLE10_2_SQL_SENTENCE

视图

  • 为什么要使用视图?什么是视图?所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和行数据;视图根本用途:简化sql查询,提高开发效率。

结尾

唉,尴尬

狗头的赞赏码.jpg