SQL基础教程

第一范式:
列仅包含原子值;
没有重复的组。
第二范式:
满足第一范式;
非部分函数依赖。(如果组合键中任何一列值改变,将导致非键列的值需要被更新)
那么,主键是一列(不是组合的)满足第二范式;所有列是主键一部分也满足第二范式。
第三范式:
满足第二范式;
没有传递依赖。(如果一个非键列的值确定了另一个非键列的值,则表包含传递依赖)
函数EXTRACT(field FROM datetime_or_interval)将日期或时间间隔隔离为单一字段,并以数字形式返回,例如:
select title_id from titles
where EXTRACT(YRER from pubdate)
between 2001 and 2002;
COALESCE (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。
如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。
作用
交叉联结cross join
mxn。笛卡尔积或者交叉积
自然联结 natural join
同名的列;只有等值,不能有ON或USING条件。
内联结 inner join
同名列,可以用ON条件选择;内联结删除在另一表中没有匹配的行。
外联结 outer join
左表和右表;至少返回一个表的所有行;
left/right/full [outer] join
自联结
SQL基础教程的更多相关文章
- [SQL基础教程] 5-1视图
[SQL基础教程] 5-1视图 视图和表 从SQL角度看视图就是一张表 视图与表的差别 表保存了实际的数据,视图保存的是SELECT语句: 视图的优点 节省存储空间: 将常用的Select 语句保存成 ...
- [SQL基础教程] 4-4 事务
[SQL基础教程] 4 数据更新 4-4 事务 事务 需要在同一处理单元中执行的一系列更新处理的集合 创建事务 事务开始语句; DML语句1; DML语句2; . . . 事务结束语句; 事务开始语句 ...
- [SQL基础教程] 4-3 数据的更新(UPDATE)
[SQL基础教程] C4 数据更新 4-3 数据的更新(UPDATE) UPDATE UPDATE <表名> SET <列名> = <表达式>; UPDATE &l ...
- [SQL基础教程] 4-2 数据删除(DELETE)
[SQL基础教程] C4 数据更新 4-2 数据删除(DELETE) DROP TABLE / DELETE DROP TABLE - 完全删除表 DELETE - 仅删除数据,保留表容器 DELET ...
- [SQL基础教程] 4-1 数据的插入(INSERT)
[SQL基础教程] C4 数据更新 4-1 数据的插入(INSERT) INSERT INSERT INTO <表名>(列1,列2...) VALUES(值1,值2...); 清单 用() ...
- [SQL基础教程] 3-4 对查询结果进行排序/ORDER BY
[SQL基础教程] 3-4 对查询结果进行排序/ORDER BY ORDER BY SELECT <列名1>,<列名2>,<列名2>... FROM ORDER B ...
- [SQL基础教程] 3-3 HAVING
[SQL基础教程] 3-3 HAVING HAVING子句 SELECT col_1,col_2 FROM table GROUP BY col_1,col_2 HAVING col_1 = '2'; ...
- [SQL基础教程] 3-2 对表进行分组
[SQL基础教程] 3-2 对表进行分组 GROUP BY SELECT <列名1>,<列名2>,... FROM <表名> GROUP BY <列名1> ...
- [SQL基础教程] 3-1 对表进行聚合查询
[SQL基础教程] 3-1 对表进行聚合查询 聚合函数 用于合计的函数称为聚合函数或者集合函数 COUNT SUM AVG MAX MIN SELECT COUNT(*) FROM table; SE ...
- [SQL基础教程] 2-3 逻辑运算符
[SQL基础教程] 2-3 逻辑运算符 NOT AND OR 优先级 ( )改变优先级 AND 优先级高于 OR NULL 引入三值逻辑
随机推荐
- SQL是关于集合的
一 以面向集合的思维方式来思考 公司里每个工作岗位上干了同样年数的员工列表 select emplyee_id from job_history group by employee_id h ...
- 成员变量的隐藏,方法的覆盖,super关键字
成员变量的隐藏:当父类和子类有相同的成员变量时,即定义了与父类相同的成员变量时,就会发生子类对父类变量的隐藏.对于子类的对象来说,父类中的同名成员变量被隐藏起来,子类就会优先使用自己的成员变量,父类成 ...
- The Struts dispatcher cannot be found. This is usually caused by using Strut
The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the assoc ...
- docker offical docs:Working with Containers
enough ---------------------------------------------------------------------------------- Working wi ...
- tcpdump note
from http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 用简单的话来定义tcpdump,就是:dump the tr ...
- 使用pgbench测试PostgreSQL
pgbench –help 初始化选项: -i 调用初始化模式 -F NUM 填充因子 -s NUM 规模因子(与产生数据量大小有关) Benchmarking选项: -c ...
- [Reprint]C++函数前和函数后加const修饰符区别
c++中关于const的用法有很多,const既可以修饰变量,也可以函数,不同的环境下,是有不同的含义.今天来讲讲const加在函数前和函数后面的区别.比如: 01 #include<iostr ...
- web1
<!DOCTYPE html> <html> <head> <title>web0923</title> <script> fu ...
- git的基本使用
1.在本地新建一个文件夹来存放代码 2.用命令行进入这个文件夹 3.git init --来创建一个代码仓库 3. 配置用户信息:用户名和 邮箱(联系作者本人沟通, 责任到人) git config ...
- ZOJ 2112 Dynamic Rankings(主席树の动态kth)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2112 The Company Dynamic Rankings ...