sql-单表&多表关系

1. 单表

1.1 排序

-- 排序关键字: order by
-- asc 升序 , desc 降序
select * from where 条件 order by 降序列名 asc|desc;

1.2 分组

select 分组列 from 表名 group by 分组列 having 分组条件;

1.3 聚合函数

  • 聚合函数:SQL基本函数,聚合函数对一组值执行计算,并返回单个值,也被称为组函数。
  • 常见的聚合函数:
 -- 统计个数 : count
  select count(计算个数字段) from 表名 where 条件;
 -- 计算总和 : sum
   select sum(求和字段) from 表名 where 条件;
 -- 平均值 : avg
   select avg(求平均值字段) from 表名 where 条件;
 -- 最大值 : max
   select max(求最大值字段) from 表名 where 条件;
 -- 最小值 : min
   select min(求最小值字段) from 表名 where 条件;
  • 除 COUNT 以外,聚合函数忽略空值,如果COUNT函数的应用对象是一个确定列名,并且该列存在空值,此时COUNT仍会忽略空值。

1.4 分页

-- limit 开始索引,每页显示个数
---- 开始索引,从0开始
-- 第一页,每页3条
select * from product limit 0,3;
-- 第二页,每页3条
select * from product limit 3,3;
-- 第三页,每页3条
select * from product limit 6,3;
-- 第pageNum页,每页pageSize条
select * from product limit (pageNum - 1) * pageSize, pageSize;

2.多表关系

2.1 表与表之间的关系

  • 一对多
  • 多对多
  • 多对一

2.1 一对多

  • 一对多关系:通过主外键关系,形成一对多关系。
  • 一表 : 又称为主表,提供主键。
  • 多表: 又称为从表,提供外键。
  • 通过外键约束,形成外键关系
alter table 从表 add constraint [外键名称] foreign key (外键) references 主表(主键)
-- 添加外键约束时可以忽略[外键名称],如果填写“外键名称”,是为了删除外键约束

2.2 多对多

  • 多对多关系:提供一个中间表,将一个多对多拆分成了2个一对多。
  • 练习
-- 多对多
-- 1 主表(订单表)
create table tb_order(
  oid int primary key,
  price double
);

-- 2 主表(商品表)

-- 3 中间表
create table tb_order_product(
  order_id int,
  product_id int
);

-- 4 中间表 和 订单表 主外键关系
alter table tb_order_product add constraint foreign key (order_id) references tb_order (oid);

-- 5 中间表 和 商品表 主外键关系
alter table tb_order_product add constraint foreign key (product_id) references tb_product (pid);

2.3 一对一

  • 一对一关系: 同一对一多同理,通过主外键关系,形成一对一关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值