❶ sql的練習,求答案!!!
有一些類似的題看看吧 一定有幫助
實驗一
練習1、請查詢表DEPT中所有部門的情況。
select * from dept;
練習2、查詢表DEPT中的部門號、部門名稱兩個欄位的所有信息。
select deptno,dname from dept;
練習3、請從表EMP中查詢10號部門工作的雇員姓名和工資。
select ename,sal from emp where deptno=10;
練習4、請從表EMP中查找工種是職員CLERK或經理MANAGER的雇員姓名、工資。
select ename,sal from emp where job='CLERK' or job='MANAGER';
練習5、請在EMP表中查找部門號在10-30之間的雇員的姓名、部門號、工資、工作。
select ename,deptno,sal,job from emp where deptno between 10 and 30;
練習6、請從表EMP中查找姓名以J開頭所有雇員的姓名、工資、職位。
select ename,sal,job from emp where ename like 'J%';
練習7、請從表EMP中查找工資低於2000的雇員的姓名、工作、工資,並按工資降序排列。
select ename,job,sal from emp where sal<=2000 order by sal desc;
練習8、請從表中查詢工作是CLERK的所有人的姓名、工資、部門號、部門名稱以及部門地址的信息。
select ename,sal,emp.deptno,dname,loc from emp,dept where emp.deptno=dept.deptno and job=』CLERK』;
練習9、查詢表EMP中所有的工資大於等於2000的雇員姓名和他坦鄭芹的經理的名字。
select a.ename,b.ename from emp a,emp b where a.mgr=b.empno(+) and a.sal>=2000;
練習10、在表EMP中查詢所有工資高於JONES的所有雇員姓名、工作和工資。
select ename,job,sal from emp where sal>(select sal from emp where ename=』JONES』);
練習11、列出沒有對應部門表信息的所有雇員的姓名、工作以及部門號。
select ename,job,deptno from emp where deptno not in (select deptno from dept);
練習讓畢12、查找工資在1000~3000之間的雇員所在部門的所有人叢悶員信息
select * from emp where deptno in (select distinct deptno from emp where sal between 1000 and 3000);
練習13、雇員中誰的工資最高。
select ename from emp where sal=(select max(sal) from emp);
select ename from (select * from emp order by sal desc) where rownum<=1;
*練習14、雇員中誰的工資第二高(考慮並列第一的情況,如何處理)。
select ename,sal from (select ename ,sal from emp where sal<(select max(sal) from emp) order by sal desc) where rownum<=1;
實驗二
1. 查詢所有雇員的姓名、SAL與COMM之和。
select ename,sal+nvl(comm,0) 「sal-and-comm」 from emp;
2. 查詢所有81年7月1日以前來的員工姓名、工資、所屬部門的名字
select ename,sal,dname from emp,dept where emp.deptno=dept.deptno and hiredate<=to_date(『1981-07-01』,』yyyy-mm-dd』);
3. 查詢各部門中81年1月1日以後來的員工數
select deptno,count(*) from emp where hiredate>=to_date(『1981-01-01』,』yyyy-mm-dd』) group by deptno;
4. 查詢所有在CHICAGO工作的經理MANAGER和銷售員SALESMAN的姓名、工資
select ename,sal from emp where (job=』MANAGER』 or job=』SALES』) and deptno in (select deptno from dept where loc=』CHICAGO』);
5. 查詢列出來公司就職時間超過24年的員工名單
select ename from emp where hiredate<=add_months(sysdate,-288);
6. 查詢於81年來公司所有員工的總收入(SAL和COMM)
select sum(sal+nvl(comm,0)) from emp where to_char(hiredate,』yyyy』)=』1981』;
7. 查詢顯示每個雇員加入公司的准確時間,按××××年××月××日 時分秒顯示。
select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp;
8. 查詢公司中按年份月份統計各地的錄用職工數量
select to_char(hiredate,'yyyy-mm'),loc,count(*) from emp,dept
where emp.deptno=dept.deptno group by to_char(hiredate,'yyyy-mm'),loc;
9. 查詢列出各部門的部門名和部門經理名字
select dname,ename from emp,dept where emp.deptno=dept.deptno and job=』MANAGER』;
10. 查詢部門平均工資最高的部門名稱和最低的部門名稱
select dname from dept where deptno=(select deptno from (select deptno from emp group by deptno order by avg(sal) ) where rownum<=1)
union all select dname from dept where deptno=(select deptno from (select deptno from emp group by deptno order by avg(sal) desc ) where rownum<=1);
11. *查詢與雇員號為7521員工的最接近的在其後進入公司的員工姓名
select ename from (select ename from
(select ename from emp where hiredate>(select hiredate from emp where empno=7521) order by hiredate ) where rownum<=1)
❷ 用SQL表達「查詢出2008年1到3月份訂單總金額大於200000的雇員」表:orders,order_details,employees
給的三個表中應該有相應的欄位。
select 員工編號,.員工姓名,sum(b.訂單金額) from employees where 員工編號 in(select distinct 員工編號 from order_details)group by
a.員工編號,a.員工姓名 having sum(b.訂單金額)>200000
❸ SQL語言完成以下操作:
select sum(工資),sum(雇員的傭金百分比) from雇員表
select雇員姓名,雇員經理的編號 from雇員表 --------你根本沒有提供雇員經理名字好吧?
select a.* from訂單表 a,雇員表 bwhere a.負責該訂單的銷售代表編號 = b.雇員編號 and b.雇員姓名 like 『李__』
select 客戶名 from 客戶表 where 客戶地址 in (select 客戶地址 from 客戶表 where 客戶名 = 『客戶A百貨公司』)
select * from訂單表 a,客戶表 b where a.客戶編號=b.客戶標號
select 雇員所在部門編號,avg(工資) from 雇員表 group by 雇員所在部門編號 ----這個你也沒給出部門名稱這個列啊,只有用部門編號代替。
❹ sql查詢語句 給出4張表,找出雇員最多的公司
mysql
select company_name, count(employee_name) employee_count
from works
group by company_name
order by count(employee_name) desc limit 1,1
sql server
select top 1 company_name, count(employee_name) employee_count
from works
group by company_name
order by count(employee_name) desc