SQL
文章平均质量分 71
SQL
smith789
这个作者很懒,什么都没留下…
展开
-
SQL范式
构造数据库必须遵循一定的规则,在关系数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有6种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以此类推。一般说来,数据库只需满足第三范式(3NF)就可以了。原创 2022-11-02 22:04:40 · 601 阅读 · 0 评论 -
使用not in要注意null
现象要查询dept表里(deptno不在new_dept里)的记录:原因原因就在于new_dept表里有null值。in和not in本质上是or运算,or运算一旦有null参与,会产生不同的效果。select deptno from dept where deptno in (10,50,null);等价于select deptno from dept where (deptn...原创 2020-02-14 12:15:06 · 306 阅读 · 0 评论 -
sql左连接、右连接、内连接、左外连接、右外连接
题目sql中的各种连接查询应该是最最常用的了。必须要搞清楚。测试数据表SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for java-- ----------------------------DROP TABLE IF EXISTS `...原创 2019-12-29 21:42:48 · 253 阅读 · 0 评论 -
记一次SQL优化(in vs exists)
优化记录以MySQL官方库的表结构为例,当时的业务场景抽象出来后类似:1、dept_manager表中记录较少,employees表中记录较多。2、需要查询dept_manager表中失效雇员的记录,即employees表中没有对应dept_manager表中emp_no的记录。一开始的写法是:select * from dept_manager a where a.emp_no i...原创 2019-12-29 21:43:29 · 323 阅读 · 1 评论