select ename,salary,job from emp where salary >1200
3.查出在10,30部门的员工名,薪水
1
select ename,salary from emp where deptno=10 and 30
4.找出工资大于1500并且没有提成的员工
1
select * from emp where salary >1500 and comm is null
5.查出名字是以M打头的员工
1
select *from emp where ename like 'M%
6.查出姓名中第三个字母是e的员工
1
select * from emp where substr(ename,3,1)='e'
7.找出没有提成率的员工
1
select * from emp where comm is null
8.找出工资在950(含)至1200(含)元的员工姓名、职称
1
select ename,job from emp where salary between 950 and 1200
9.找出2月份入职的员工名、入职时间、工资
1
select ename,hiredate,salary from emp where month(hiredate)=2
查询出所有员工的职位,不重复
1
select distinct job from emp
查询出各个部门的员工数量
1
select deptno,count(*) from emp group by deptno
– 查询出各年份入职的员工情况(年份,员工人数)
1
select year(hiredate) as year,count(*) from emp group by year(hiredate) order by year(hiredate)
– 查询出每年每月入职的员工情况(年份月份,员工人数)
1
select year(hiredate) as year, month(hiredate) as month,count(*) from emp group by year(hiredate),month(hiredate) order by year(hiredate),month(hiredate)
SELECT REPLACE(SUBSTRING('Good morning ! I\'m Tom ', LOCATE('o', 'Good morning ! I\'m Tom ')), 'o', 'A');
【2. 日期函数】 1.获得当前日期
1
select current_date()
获得某一个日期的年份,月份,日期
1
select year(date),month(date),day(date) from mytable where date='2023-02-13'
获得某一个日期的星期
1
select datename(date) as weekday from mytable where date='2023-04-11'
获得当前日期的时分秒
1
select time(now())
获得2天后的日期
1
select date_add(curdate(),interval 2 day)
获得前2天的日期
1
select date_sub(curdate(),interval 2day)
获得两个日期相差的年份,月份,天数
1 2 3 4
select timestampdiff(year,date1,date2)as diff_year timestampdiff(month,date1,date2)as diff_month timestampdiff(day,date1,date2) as diff_day from mytable