sql.DQL

DQL 数据查询语言
语法:

  select * (要查询的列名)
  from 表名
  where 条件
  group by 列名(更具列名分组)
  having 条件
  order by 列名(根据列名排序)
  limit 0,5;(0:分页起始位置, 5:显示多少行)

基础查询:
select * from 表名;
select 列名1,列名2,列名3 from 表名;

条件查询:

  运算符:= , != , <> , < , > , <= , >= 
  关键字:
  between  ...  and ...;   闭区间
  in()  ;集合
  is null ;  非空
  andornot;

``
**模糊查询 **
select *  from 表名 where like '%i%__%';
字段控制查询:
  去除重复记录:如:查询emp 表中的job 会有重复的工作名称显示,可以用到
    关键字:distinct
    select job from emp;
    select distinct job(列名) from emp(表名);
  工资与奖金的和:
    关键字:ifnull(列名,0)     奖金为空时,给其赋值为0
    select *,sal+ifnull(comm,0) from emp;
  给列取别名:
  关键字:as 可省略;
    select sid 学号,sname as 姓名 from stu;
    select *,sal+ifnull(comm,0)  total from emp;
  排序查询:
  关键字:order bydesc 降序       asc 升序(默认)
    select * from stu order by sid ascselect * from stu order by sname asc,grade desc;
  聚合函数:count()   sum()          max()           min()       avg() 
查询emp表中有奖金的人数(奖金不为空)
select count(comm) from emp;

查询emp表中月薪大于2500的人数:
SELECT COUNT(*) FROM emp
WHERE sal > 2500;
统计月薪与佣金之和大于2500元的人数:
SELECT COUNT(*) AS cnt FROM emp WHERE sal+IFNULL(comm,0) > 2500;
查询有佣金的人数,以及有领导的人数:
SELECT COUNT(comm), COUNT(mgr) FROM emp;

SUM和AVG
当需要纵向求和时使用sum()函数。
查询所有雇员月薪和:
SELECT SUM(sal) FROM emp;
查询所有雇员月薪和,以及所有雇员佣金和:
SELECT SUM(sal), SUM(comm) FROM emp;

 查询所有雇员月薪+佣金和:
SELECT SUM(sal+IFNULL(comm,0)) FROM emp;

 统计所有员工平均工资:
SELECT SUM(sal), COUNT(sal) FROM emp;
或者
SELECT AVG(sal) FROM emp;

6.3 MAX和MIN
 查询最高工资和最低工资:
SELECT MAX(sal), MIN(sal) FROM emp;

“`

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值