SQL-表的基础

SQL

1.表与表之间的关系

  • 1对1 : 主外键约束可以实现
  • 1对多|多对1 : 主外键约束可以实现
  • 多对多 : 使用中间表 ,来定义两张表的依赖关系
订单表order
订单编号所属用户商品id
orderiduseridgoodsid
100110
用户表user
用户主键id用户名用户密码等级注册日期
useridusernamepassword
10张三12322019-1-2

关联表 可以没有主键

订单商品表odergood
订单商品id订单编号商品编号商品数量
ordergoodsidorderidgoodsidnum
1100112
2100121
3100211

2.范式


2.1 1NF(一范式)

一个表格里 的每个列 只能有 不可分割 的一个数据;

2.2 2NF(二范式)

在一范式的基础之下 , 非主属性的部分要依赖于主键|每个实例或行必须可以被唯一地区分

2.3 3NF(三范式)

第三范式就是属性不依赖于其它非主属性。

有外键时没必要把全部外表上的属性写上去

简而言之,最终的目的避免数据重复冗余,1NF–>列不可再分最小原子(避免重复);2NF–>主键依赖(确定唯一);3NF–>消除传递依赖(建立主外键关联拆分表);



SQL语句

查询

select distinct *|字段|表达式 as 别名 from 表表别名

‘’表示的是字符串 “”可以用来加别名

伪列

不存在的列,构建虚拟的列

select empno, 1*2 as count,'cmj' as name,deptno from emp;
<br/>

虚表

select 1+1 from dual;

只有一条数据

用于计算表达式,显示单条记录的值

null

nvl内置函数

--nvl内置函数,判断是否为null,如果为空,取默认值0,否则取字段实际值 
select ename,sal*12+nvl(comm,0)from emp
<br/>

查询条件

between and <> 不等

union(去重交集)、union all(不去重)、intersect(交集) 、minus(差集)

like : 模糊查询 % 任意长度字符 _ 一个长度字符 escape(‘e’)配置转义字符

exists()括号里面的有数据 则就能查出来

order by 默认asc 升序 desc 降序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值