SQL随笔

JOIN(链接)

Join 用于吧两个或多个表的行结合起来。基于这些表之间的共同字段。
常用的 Join 类型有:

  • Inner Join:如果表中有至少一个匹配,则返回行。【通常使用】
  • Left Join:即使右表中没有匹配,也从左表返回所有的行。【不常用】
  • Right Join:即使左表没有匹配,也从右表中返回所有的行。【不常用】
  • Full Join:只要其中一个表存在匹配,则返回行。【不常用】

例子
1)Inner Join:
Select w.id,w.name,a.count,a.date
From Websites AS w
INNER JOIN access_log AS a
ON w.id = a.site_id
where 条件
2)Left Join:
Select w.id,w.name,a.count,a.date
From Websites AS w
Left JOIN access_log AS a
ON w.id = a.site_id
where 条件
Right Join 和 Full Join 同上述两个例子相同。

Union

Union 操作符合并两个或多个 Select 语句的结果。
注意:Union 内部的每个 Select 语句必须拥有相同数量的列。列也必须有相似的数据类型。同时每个 Select 语句中的列的顺序必须相同。
默认的 Union 操作符选取不同的值。如果允许重复的值,请使用 Union all。
语法:
Select 字段名 from 表名
Union
Select 字段名 from 表名
例子:
Select country,name from Websites where country = ‘CN’
union all
Select country,app_name from apps where country = ‘CN’
order by country 排序
注意:在这里 order by 排序添加在最后,无需在每个 select 里面进行添加。

约束

约束用于规定表中的数据规则。
如果存在违反约束的数据行为,行为会被约束终止。约束可以在创建表时规定,或者在表创建之后规定。
SQL 中 约束如下:

  • NOT NULL - 指示某列不能存储 NULL 值。
  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值得参照完整性。
  • CHECK - 保证列中的值符合指定的条件。

注:具体约束的创建不做详细解释。一般用图形界面话工具可以进行直接定义。

Create Index(索引)

Create Index 语句用于在表中创建索引。
在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。
用户无法看到索引,它们只能被用来加速搜索/查询。
注:更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想做法是仅仅在常常被搜索的列(以及表)上面创建索引。

语法:Create Index 索引名称 ON 表名称 (字段名称)

View(视图)

iews(视图)
视图是基于 SQL 语句的结果集的可视化的表。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。
向视图添加 SQL 函数、where、以及 Join 语句,也可以呈现数据,就像这些数据来自于某个单一的表一样。
语法:
新建视图:Create view 视图名 AS Select 字段名 From 表名 Where 条件 # 可省略。
更新视图:Create or replace 视图名 AS Select 字段名 From 表名 Where 条件 # 可省略。
删除视图:Drop view 视图名。
查询视图:Select * from 视图名。
例子
新建视图:Create view dw_user_view AS Select * from dw_user。
更新视图:Create or replace view dw_user_view AS Select * from dw_user。
删除视图:Drop view dw_user_view。
查询视图:Select * from dw_user_view。

猜你喜欢

转载自blog.csdn.net/hqz820844012/article/details/80400108