已知有以下表,資料如圖:
create table s_emp(
id number(7) constraint s_emp_id_nn not null,
last_name varchar2(25) constraint s_emp_last_name_nn not null,
first_name varchar2(25),
userid varchar2(8),
start_date date,
comments varchar2(255),
manager_id number(7),
title varchar2(25),
dept_id number(7),
salary number(11, 2),
commission_pct number(4, 2),
constraint s_emp_id_pk primary key (id),
constraint s_emp_userid_uk unique (userid),
constraint s_emp_commission_pct_ck
check (commission_pct in (10, 12.5, 15, 17.5, 20)));
1)查詢員工的工資和last_name,對工資進行公升序排列
select id,last_name from s_emp
order by salary asc;
2)查詢員工的工資和last_name,對last_name進行降序排列
select salary,last_name from s_emp
order by last_name desc;
3)查詢員工的工資和last_name,先對salary進行降序排列,再對last_name進行公升序排列
select salary,last_name from s_emp
order by salary desc,last_name asc;
4)請舉例說明空值的排序規則
公升序排列,預設情況下,null值排後⾯
降序排序,預設情況下,null值排前⾯
5)查詢41號部門員工的資訊?
select * from s_emp
where dept_id=41;
6)查詢工資大於1000的員工的資訊?
select * from s_emp
where salary > 1000;
7)查詢工資大於1000小於1500員工的資訊,使用兩種方式來做?
select * from s_emp
where salary >1000 and salary <1500;
select * from s_emp
where salary between 1000 and 1500;
8)查詢41或者42部門員工的資訊,使用兩種方式來做?
select * from s_emp
where dept_id=41 or dept_id=42;
select * from s_emp
where dept_id in(41,42);
9)查詢last_name包含n的員工的資訊?
select * from s_emp
where last_name like '%n%';
10)查詢last_name包含n或者n的員工的資訊?
select * from s_emp
where last_name like '%n%' or last_name like '%n%';
11)查詢last_name第二個字母為g的員工的資訊?
select * from s_emp
where last_name like '_g%';
12)查詢last_name最後乙個字母為o的員工的資訊?
select * from s_emp
where last_name like '%o';
13)查詢last_name以n開頭的員工的資訊?
select * from s_emp
where last_name like 'n%';
14)先插入這條資料
insert into s_emp(id,last_name)
values(999,'_briup');
commit;
然後查詢以_開頭的員工的資訊
select * from s_emp
where last_name like '/_%' escape '/';
15)找出部門41中所有經理和部門43中的所有辦事員的詳細資料
經理職稱為:warehouse manager
辦事員的職稱為:stock clerk
select * from s_emp
where (title='warehouse manager' and dept_id =41 )
or (title='stock clerk' and dept_id=43);
16)找出部門41中所有經理、部門43中所有辦事員,既不是經理又不是辦事員但其薪金》=2000的所有雇員的詳細資料
select * from s_emp
where (title='warehouse manager' and dept_id =41 )
or (title='stock clerk' and dept_id=43)
or ((title!='warehouse manager' and title!='stock clerk')and salary>=2000);
17)顯示不帶有's'的雇員姓名
select '姓名:' || last_name || '-' || first_name name from s_emp
where last_name not like '%s%' and first_name not like '%s%';
18)顯示雇員姓名,根據其服務年限,將最老的雇員排在最前面
select '姓名:' || last_name || '-' || first_name name from s_emp
order by start_date asc;
19)顯示所有雇員的姓名、工作和薪金,按工作的降序順序排序,而職位相同時按薪金公升序
select '姓名:' || last_name || '-' || first_name name,title,salary from s_emp
order by title desc,salary asc;
20)查詢12個月的年薪大於18000的員工的資訊
select * from s_emp
where salary*12>18000;
21)查詢13個月的年薪在10000到14000之間的員工資訊
select * from s_emp
where salary*13 between 10000 and 14000;
22)查詢41號部門工資大於1400的員工資訊
select * from s_emp
where dept_id=41 and salary>1400;
23)查詢除41,42號部門12個月的年薪大於17000員工的資訊
select * from s_emp
where (dept_id!=41 and dept_id!=42) and salary*12>17000;
排序練習題
一 選擇題 1 以下序列不是堆的是 d a 100,85,98,77,80,60,82,40,20,10,66 b 100,98,85,82,80,77,66,60,40,20,10 c 10,20,40,60,66,77,80,82,85,98,100 d 100,85,40,77,80,60,6...
JS語句練習題
var a prompt 輸入乙個數字 var b prompt 輸入乙個 中的任意運算子 var c prompt 再輸入乙個數字 if b else if b else if b else 方法二 var a prompt 輸入乙個數字 var b prompt 輸入乙個 中的任意運算子 var...
Oracle練習題一
操作hr賬戶下的employees表 2.查詢工資排名第5到第10的員工資訊?1分 功能 排序 序號偽列 範圍查詢 思路 1.按照薪資降序排序 2.對查詢結果表新增需要的列 3.擷取5 10資料,select employee id,first name,salary from select e.e...