SQL
SQL
saltedfishust
这个作者很懒,什么都没留下…
展开
-
数据库中的范式——从1NF到BCNF
范式一张数据表的表结构所符合的某种设计标准的级别,范式越高,数据表的安全性越高,但查询速度越慢。数据库范式分为:1NF,2NF,3NF,BCNF,4NF,5NF,6NF;一般的数据库到3NF就可以满足基本的设计要求。范式定义1NF关系中每个属性不可再分2NF在第一范式的基础上消除非主属性对于任何一个候选码的部分函数依赖3NF在第二范式的基础上消除非主属性对于任何一个候选码的传递函数依赖BCNF在第三范式的基础上消除主属性对于任何一个候选码的部分函数依赖和传递原创 2020-09-08 10:39:45 · 3788 阅读 · 2 评论 -
pl/sql语言入门
pl/sql是一种编程语言pl/sql编程语言是对sql语言的拓展,使得sql语言具有过程化编程的特性;pl/sql编程语言比一般的过程化编程语言更加灵活高效;pl/sql编程语言主要用来编写存储过程和存储函数等。pl/sql中的变量类型pl/sql语句必须写在声明的方法中,有固定的格式,其中declare部分可省略,下面介绍简单的声明方法结构及其变量类型。注意:本文涉及到的用例以scott用户下的表格为例;如果你在sql developer上执行dbms输出可以去’查看’–>原创 2020-06-22 12:48:15 · 376 阅读 · 0 评论 -
视图的常用作用总结
视图为虚拟的表。它们包含的不是数据而是根据需要检索数据的查询。视图提供了一种封装SELECT语句的方式,可用来简化数据处理,重新格式化或保护基础数据。创建视图必须有DBA权限,因为视图主要用来查询,不建议用来修改数据,所以很多视图都创建为只读的:CREATE VIEW view_name AS SELECT... WITH READ ONLY;主要作用如下:通过++重用SQL语句++,简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道其基本查询细节。利用视图简化复杂的联结;--原创 2020-06-16 13:16:43 · 686 阅读 · 0 评论 -
Oracle、MySQL中的分页查询
分页查询在Oracle和MqSQL上的实现有很大区别,首先介绍在MySQL上的实现:MySQL中的分页查询1. limit 是一个MySQL"方言"2. 语法:limit 每页查询的条数 offset 开始的索引, 简化版:limit 开始的索引,每页查询的条数;3. 公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数 -- 每页显示3条记录 SELECT * FROM student LIMIT 0,3; -- 第1页 SELECT * FROM student LI原创 2020-06-14 20:31:37 · 254 阅读 · 0 评论 -
WHERE和HAVING的区别其实很简单
having子句和where子句非常容易混淆,它们都有过滤功能,但它们有如下区别。where过滤行,即分组前的数据,where必须在group by之前;having过滤分组,即分组后的数据,having必须groud by之后。以Oracle数据库下scott用户的表为例:查询出平均工资高于2000的部门ID及其对应的平均工资:select e.deptno, avg(e.sal)from emp e group by e.deptnohaving avg(e.sal)>20原创 2020-06-14 15:41:05 · 501 阅读 · 0 评论 -
深入理解数据库中的各种连接
按照我的理解,我将数据库中的连接分类如下图,稍后我将解释我为什么这么分。所有的广义内连接的核心和共同点是完全基于笛卡尔积原理的,两个表进行笛卡尔积运算得到的结果表是由第一个表的每一行与第二个表的每一行拼接后形成的表,称为‘笛卡尔积表’,结果表的行数等于两个表的行数之积,接下来介绍的所有广义内连接的结果都能在笛卡尔积表里找到。原创 2020-06-03 13:59:04 · 1410 阅读 · 0 评论 -
数据库中的各种约束
1. 非空约束:not null 2. 唯一约束:unique 3. 主键约束:primary key 4. 外键约束:foreign key 5. 检查:check原创 2020-06-12 13:30:34 · 2380 阅读 · 0 评论