常用sql語句

2021-08-23 13:40:03 字數 2565 閱讀 4145

使用scott/tiger使用者下的emp表完成下列練習,表的結構說明如下

emp員工表 字段內容如下:

empno 員工號

ename 員工姓名

job 工作

mgr 上級編號

hiredate 受僱日期

sal 薪金

comm 佣金

deptno 部門編號

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 job = 'manager' and deptno = 10 or job = 'clerk' and deptno = 20

6.找出部門10中所有經理(manager),部門20中所有辦事員(clerk),既不是經理又不是辦事員但其薪金大於或等於2000的所有員工的詳細資料.

select * from emp where (job = 'manager' and deptno = 10) or (job = 'clerk' and deptno = 20) or (job != 'manager' and job != 'clerk' and sal >= 2000)

7.找出收取佣金的員工的不同工作.

select distinct job from emp where comm is not null

8.找出不收取佣金或收取的佣金低於100的員工.

select distinct job from emp where comm is not null

10.找出早於12年前受僱的員工.

select * from emp where extract(year from sysdate) - extract(year from hiredate) > 12

11.以首字母大寫的方式顯示所有員工的姓名.

1.select initcap(ename) from emp

2.select concat(upper(substr(ename,1,1)),lower(substr(ename,2,length(ename)))) from emp

12.顯示正好為5個字元的員工的姓名.

select * from emp where length(ename) = 5

13.顯示不帶有"r"的員工的姓名.

select * from emp where empno not in (select empno from emp where ename like '%r%')

14.顯示所有員工姓名的前三個字元.

select substr(ename,1,3) from emp

15.顯示所有員工的姓名,用a替換所有"a"

select replace(ename,'a','a') from emp

16.顯示滿10年服務年限的員工的姓名和受僱日期.

select ename,hiredate from emp where extract(year from sysdate) - extract(year from hiredate) >= 10

17.顯示員工的詳細資料,按姓名排序.

select * from emp order by ename

18.顯示員工的姓名和受僱日期,根據其服務年限,將最老的員工排在最前面.

select ename,hiredate from emp order by extract(year from sysdate) - extract(year from hiredate) desc

19.顯示所有員工的姓名、工作和薪金,按工作的降序排序,若工作相同則按薪金排序.

select ename,job,sal from emp order by job desc,sal

20.顯示所有員工的姓名、加入公司的年份和月份,按受僱日期所在月排序,若月份相同則將最早年份的員工排在最前面.

select ename as 姓名,extract(year from hiredate) as 年份,extract(month from hiredate) as 月份 from emp order by extract(month from hiredate),extract(year from hiredate)

21.找出在(任何年份的)2月受聘的所有員工。

select * from emp where extract(month from hiredate) = 2

22.顯示姓名欄位的任何位置包含"a"的所有員工的姓名.

select * from emp where ename like 『%a%』

sql常用sql語句

1 查詢某個庫中所有的表名字 select name from sysobjects where xtype u and name dtproperties order by name 2 得到資料庫中所有使用者檢視 select name from sysobjects where xtype v...

常用sql語句

t sql語句複製表的方法 我在sql server 2000中有現個資料庫datahr及demo,它們的結構是一樣,其它有乙個表名為 gbitem.現在我想將demo資料庫的表名 gbitem的全部內容複製到datahr資料庫的表名為 gbitem中。請問此t sql語句應該怎麼寫?謝謝高人指點!...

常用SQL語句

查詢 sp who 中的結果值。因為儲存過程不能查詢,先轉為臨時表再查詢。declare tb table spid varchar 100 ecid varchar 100 status varchar 100 loginame varchar 100 hostname varchar 100 b...