mysql练习

目录

#-- mysql  1. 基础查询

#-- mysql  2. 分组查询

#emp,dept表(供参考)

##emp表

##dept表


#-- mysql  1. 基础查询

        

 -- 1.查询职员表中工资大于 1600 的员工姓名和工资
  select ename,sal from emp where sal > 1600;
  -- 2.查询职员表中员工号为 7369 的员工的姓名和部门号码
  select ename,deptno from emp where empno=7369;
  -- 3.选择职员表中工资不在 4000 到 5000 的员工的姓名和工资
  select ename,sal from emp where sal  not between 4000 and 5000;
  -- 4.选择职员表中在 20 和 30 号部门工作的员工姓名和部门号
  select ename,deptno from emp where deptno in(20,30);
  -- 5.选择职员表中没有管理者的员工姓名及职位,按职位排序
  select ename,job from emp where mgr is null order by job desc;
 --  6.选择职员表中有奖金的员工姓名,工资和奖金,按工资倒序排列
  select ename,sal,comm from emp
  where comm is not null and comm <>0 order by sal desc;
  -- 7.选择职员表中员工职位的第二个字母是 a 的员工姓名
  select ename from emp where job like '-a%';
  -- 8.查询那些尚未分配部门的员工的姓名dept
  select ename from emp where deptno  is null;
  -- 9.列出部门表中的部门名字和所在城市;
  select dname,loc from dept;
  -- 10.显示出职员表中的不重复的职位;
  select distinct job from emp;
  -- 连接职员表中的职员名字、职位、薪水,列之间用逗号连接,列头显示成 OUT_PUT
  select concat(ename,', ',job,', ',sal) as OUT_PUT from emp;
  -- ROUND(sal * 1.2)函数用于计算工资提高百分之20%后的结果,并将结果四舍五入到元为单位。
  select empno,ename,round(sal * 1.2) as salary from emp;
  -- 13.查询员工的姓名和工资数,条件限定为工资数必须大于 2200,并对查询结果按入职时间进行排序,早入职排在前面,晚入职排在后面
  select ename,sal from emp where
  sal > 2200 order by hiredate asc;
  -- 14.列出部门表中除了 ACCOUNTING 部门还有哪些部门。
  select * from dept where dname <> 'accounting';
  -- 15.已知员工的收入为:薪资+绩效*0.8,如果绩效为null,则表示
  -- 绩效为0。查询员工的姓名以及月收入(列名为money),并按照月收入升序排序
  select ename,sal + ifnull(comm*0.8,0) as salmonth from emp
  order by salmonth asc;
  -- 16.将员工的姓名按首字母排序,并列出姓名的长度(length)
  select ename,length(ename) as length
  from emp order by ename asc;
  -- 17.查询各员工的姓名 ename,并显示出各员工在公司工作的月份数 (即:和当前日期比较,该员工已经工作了几个月, 用整数表示)。
  select ename,timestampdiff(month,hiredate,now()) month from emp;
  select ename,timestampdiff(month,hiredate,curdate()) as month
  from emp;
  -- TIMESTAMPDIFF(MONTH, hire_date, CURDATE())函数用于计算入职

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值