select补充

select语法:
select * ,字段名,表达式,函数调用,…
from 表1,表2,…
where 分组前的过滤条件
group by 分组字段
having 分组后的过滤条件
order by 字段名 排序规则

  • 如何去除查询结果中的重复值?
    –使用distinct关键字 去除重复值
    –只能位于select和字段之间
    –某些数据库版本中还能够排序
    –去重(排重)、排序
select distinct pub from  Book
  • 排序 order by 子句
    根据不同的字段对查询的结果进行排序
    位置:select 语句的最后
    本质:在返回查询结果后,改变结果的返回的顺序
    order by 子句 一定在select语句的末尾
    本质:查询所有结果后改变顺序
    order by 字段名 排序规则,…
    规则:升序 asc 从小到大 可默认不写
    降序 desc 从大到小
  • 数据库中的函数:
    数据库提供函数的可以简化SQL
    1、 单行函数
    一条记录 ——> 一个结果
    LEN(‘ABC’) 返回3 表示字符串的长度
    2、 多行函数(组函数、聚集函数)
    多条记录 ——> 一个结果
    SUM() 求总和
    AVG() 求平均数 avg(salary)
    COUNT() 统计记录条数
    MAX()求最大值
    MIN() 求最小值
    组函数经常和group by子句配合使用
    语法:where之后
    group by 字段 根据该字段分组
    如果不指定group by子句,默认将所有的记录作为一组
    如果需要在分组后进一步过滤,可以采用having子句 分组后的过滤
  • 多表查询
    需求:查询出员工的信息以及所在部门的名称
    涉及两张表:emp dept
    问题:为什么需要多表查询(多张表)?
    之所以将部门的名称存于dept表中,
    是因为:为了满足第三范式(3NF——拆表),避免了数据的冗余以及不一致问题
    为了形成良好的设计,进行了拆表 数据分布在多张表中
    实际开发中,需要使用一条sql语句同时查回多表的数据
    语法:
    from 表1,表2,表3,…
    使用where子句过滤,去除笛卡尔积
    • 给表起别名的好处
      1、 简化表名
      2、 区分不同表的相同字段名 e.id d.id
      3、 提高查询效率
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值