SQL基础

1、一个汉字要占两字字符的位置,所以匹配字符串时一个汉字要用两个__代替。
2、“\”表示转义。
3、group by 子句将查询结果按照某一列或者多列的值分组,值相同的为一组。group by 后面是要跟着select中所有不是聚集函数的字段
4、用having 短语指定筛选条件。having和where子句都可以用来设定限制条件以事查询结果满足一定的条件限制。但是having子句限制的是组而不是行,where子句中不能使用聚集函数,而having子句中可以。
5、等值连接:即选取表中属性值相同的那些元组。
     自然连接:比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉
     外连接:如果把舍弃的元组也把保留在结果关系中,而在其他属性上填空值(NULL),这种连接称为外连接。
    左外连接(LEFT JOIN):把左边关系的中要舍弃的元组保留。
保留左表全部和右表满足条件的。    
  右外连接(rigth join):把右边关系中要舍弃的元组保留。
保留右表全部和左表满足全部的。
6、关系的三类完整性约束
     实体完整性(主属性不能为空),参照完整性(外码为空值,其他列也是空或者外码等于基本关系中的主属性),用户定义的完整性(例如某个属性必须取唯一值或者某个非主属性也不能取空值等)。
7、选择(selection)和投影(projection)   
     选择就是限制;
     投影会取消关系中的某些列,而且还可能取消某些元组,所以也可能会出现重复的列,因此应完全取消。
8、索引  可以建立在改表的一列或者多列上,各列名用逗号隔开
     创建索引 create[unique|cluster] index on 表名(列名)
     unique表示此索引的每一个索引值只对应唯一的数据记录。
     cluster表示要建立的索引使聚簇索引,所谓聚簇索引就是指索引项的顺序与表中记录的物理顺序一致的索引组织,对经常更新的列不宜建立聚簇索引。

9、视图
     建立视图:create view 视图名 as 子查询[with check option]
子查询中可以是任意复杂的select语句,但是通常不允许含有order by子句和distinct短语。with check option表示对视图进行操作时要验证是否满足视图中定义的条件。
     组成视图的属性列名或者全部省略或者全部指定。
一下情况必须指定列名:
1)某个目标列不是单纯的属性名,二是聚集函数或者列表达式。
2)多表连接时选出几个同名列作为视图的字段。
3)需要在视图中为某个列启用新的或者是更合适的名字。
删除视图 drop view 视图名[cascade]
cascade表示联级删除,把该视图和由它导出的所有视图一起删掉。
10、范式
一范式:1NF,主要强调列的原子性,即列不能够再被分成其他几列。
二范式:2NF,必须满足一范式,一个表中必须有主键,且非主键列必须依赖于主键。
三范式:3NF,必须满足二范式,且非主键列必须直接依赖于主键,不能存在传递依赖。
假如存在非主键A依赖于非主键B,非主键B依赖于主键,说非主键A依赖于主键是不满足三范式的。

    原文作者:SQL
    原文地址: https://blog.csdn.net/xn_20152015/article/details/71424981
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞