1. 程式人生 > >mysql資料庫練習(練習)

mysql資料庫練習(練習)

--1.選擇部門30中的所有員工.
  select * from emp where deptno=30
--2.列出所有辦事員(CLERK)的姓名,編號和部門編號.
select empno,ename,deptno from emp where job='CLERK'

--3.找出佣金高於薪金的員工.
select * from emp where comm>sal
--4.找出佣金高於薪金的60%的員工.
select * from emp where comm > sal* 0.6
--5.找出部門10中所有經理(MANAGER)和部門20中所有辦事員(CLERK)的詳細資料.
select * from emp where (deptno=10 and job='MANAGER') or (deptno=20 and job='CLERK');
--6.找出部門10中所有經理(MANAGER),部門20中所有辦事員(CLERK),既不是經理又不是辦事員但其薪金大於或等於2000的所有員工的詳細資料.
select * from emp where (job<>'MANAGER' and job<>'CLERK' and sal >= 2000) or(deptno=10 and job='MANAGER') or (deptno=20 and job='CLERK')
--7.找出收取佣金的員工的不同工作.
select distinct job from emp where comm is not null
--8.找出不收取佣金或收取的佣金低於100的員工.
select * from emp where comm is null or comm<100
--10.找出早於12年前受僱的員工.
select * from emp where hiredate <'01-1月-1982'  order by hiredate
--11.以首字母大寫的方式顯示所有員工的姓名.
--13.顯示不帶有"R"的員工的姓名.
select * from emp where ename not like '%R%';
--17.顯示員工的詳細資料,按姓名排序.
select *from emp order by ename
--18.顯示員工的姓名和受僱日期,根據其服務年限,將最老的員工排在最前面.
select ename,hiredate from emp order by hiredate
--19.顯示所有員工的姓名、工作和薪金,按工作的降序排序,若工作相同則按薪金排序.
select ename,job,sal from emp  order by job desc,sal desc
--20.顯示所有員工的姓名、加入公司的年份和月份,按受僱日期所在月排序,若月份相同則將最早年份的員工排在最前面.

--24.顯示姓名欄位的任何位置包含"A"的所有員工的姓名.
select ename from emp where ename like '%A%'