sql题目(1)

-- 01,找出各月倒数第3天受雇的所有员工.
SELECT * FROM emp WHERE HIREDATE=(LAST_DAY(HIREDATE)-2);
-- 02,找出早于12年前受雇的员工.
select * from emp where HIREDATE < '2012-01-01';
-- 03,以首字母大写的方式显示所有员工的姓名.
select ename,concat(substring(ename,1,1),lower(substring(ename,2))) as new_name from emp;
-- 04,显示正好为5个字符的员工的姓名.
select * from emp where length(ENAME)=5;
-- 05,显示不带有"R"的员工的姓名
select * from emp where not ENAME like '%R%';
-- 06,显示所有员工姓名的前三个字符.
select substring(ENAME,1,3) as n from emp; 
-- 07,显示所有员工的姓名,用a替换所有"A"
select ENAME,replace(ENAME,'A','a') as n from emp ;
-- 08,显示满10年服务年限的员工的姓名和受雇日期.:
select ENAME,HIREDATE from emp where HIREDATE < date_add('2024-1-28',INTERVAL -10 year);
-- 09,显示员工的详细资料,按姓名排序.
select * from emp order by ENAME;
-- 10,显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面.
select ENAME,HIREDATE from emp order by DATEDIFF('2024-1-28',HIREDATE) desc;
-- 11,显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序.
select ENAME,JOB,SAL from emp order by JOB desc , SAL;
-- 12,显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面.
select ENAME,date_format(HIREDATE,'%Y年%m月')  from emp order by date_format(HIREDATE,'%m') ,date_format(HIREDATE,'%Y') ;
-- 13,找出在(任何年份的)2月受聘的所有员工。
select * from emp where date_format(HIREDATE,'%m') = '02';
-- 14,对于每个员工,显示其加入公司的天数.
select ENAME,datediff('2024-1-28',HIREDATE) from emp;
-- 15,显示姓名字段的任何位置包含"A"的所有员工的姓名.
SELECT ENAME FROM emp where ENAME like '%A%';
 

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值