sql習題一--表的查看,簡單sql

使用sqlplus工具鏈接到本身的用戶完成下面練習  
1.顯示登錄用戶是哪一個?
SQL> show user  
USER is "SCOTT"
 
2.顯示當前用戶有哪些對象?
SQL> desc user_objects;
 
SQL> select OBJECT_NAME,OBJECT_TYPE  from user_objects;
 
 
3.顯示當前用戶有哪些表?
SQL> desc user_tables;  
SQL>select * from tab; 或 select * from user_tables;
 
 
 
4.描述這些表的結構,瞭解列的含義
deac 表名  //查看錶的結構
 
TNAME                  TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                  TABLE
DEPT                   TABLE
EMP                TABLE
SALGRADE               TABLE
 
 
 
5.顯示員工表全部信息
select * from  EMP;
 
6.顯示員工名字,月薪
select ENAME,SAL from EMP;
 
7.顯示員工名字,職位,入職時間,月薪,查看不一樣類型列數據如何對齊的。
SQL> select ENAME,JOB,HIREDATE,SAL from EMP;
對齊方式,除了最後一列是右對齊,其他列都是左對齊
 
8.顯示員工名字,月薪,獎金
SQL> select ENAME,SAL,COMM from EMP;
 
9.顯示員工名字,月薪,獎金,總月薪,給總月薪列定義一個新列名total_sal  
SQL> select ENAME,COMM,SAL+nvl(COMM,0) as "tatal_sal"  from EMP;
 
10.顯示員工名字,部門編號,年薪,給年薪定義個列名
SQL> select ENAME,EMPNO ,(nvl(COMM,0)+SAL)*12 as "year_sal" from EMP;
 
11.顯示員工全部惟一部門編號信息
SQL> select distinct ( DEPTNO)  from EMP ;
 
12.顯示員工名字,職位[名字與職位之間用逗號和空格分割開]
SQL> select ENAME||' ,'||JOB from EMP;
 
13.顯示員工名字,職位[名字與職位之間增長 is work 顯示內容]
SQL> select ENAME||' is work '||JOB from EMP;
 
14.顯示員工名字,職位[名字與職位之間增長 ‘s work 顯示內容]
select ENAME||q'('s work)'||JOB from EMP;
 
15.顯示員工編號爲7788的員工名字
SQL> select ENAME from EMP where EMPNO=7788;
 
16.顯示員工名字爲FORD的職位,月薪
SQL> select JOB,SAL from EMP where ENAME='FORD';
 
 
17.顯示員工入職時間爲01-MAY-81的員工名字,員工年薪
SQL> select ENAME,(nvl(COMM,0)+SAL)*12 as "year_sal" from EMP where
HIREDATE='01-MAY-81';
 
18.顯示員工月薪爲3000的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL=3000;
 
19.顯示員工月薪不是3000的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL <>|^= |!= 3000;三種方式均可以
 
 
20.顯示員工月薪大於2800的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL>2800;
 
21.顯示員工月薪不大於2800的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL<=2800;
 
22.顯示員工月薪3000和5000的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL in( 3000 , 5000);
 
23.顯示員工月薪不是3000和不是5000的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL not in ( 3000 and 5000);
 
24.顯示員工月薪2000到3000之間的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL  between 2000 and 3000;
 
25.顯示員工月薪非2000到3000之間的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL not  between 2000 and 3000;
 
26.顯示員工獎金爲空的員工名字,月薪,獎金使用sqlplus工具鏈接到本身的用戶完成下面練習  
1.顯示登錄用戶是哪一個?
SQL> show user  
USER is "SCOTT"
 
2.顯示當前用戶有哪些對象?
SQL> desc user_objects;
 
SQL> select OBJECT_NAME,OBJECT_TYPE  from user_objects;
 
 
3.顯示當前用戶有哪些表?
SQL> desc user_tables;  
SQL>select * from tab; 或 select * from user_tables;
 
 
 
4.描述這些表的結構,瞭解列的含義
deac 表名  //查看錶的結構
 
TNAME                  TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                  TABLE
DEPT                   TABLE
EMP                TABLE
SALGRADE               TABLE
 
 
 
5.顯示員工表全部信息
select * from  EMP;
 
6.顯示員工名字,月薪
select ENAME,SAL from EMP;
 
7.顯示員工名字,職位,入職時間,月薪,查看不一樣類型列數據如何對齊的。
SQL> select ENAME,JOB,HIREDATE,SAL from EMP;
對齊方式,除了最後一列是右對齊,其他列都是左對齊
 
8.顯示員工名字,月薪,獎金
SQL> select ENAME,SAL,COMM from EMP;
 
9.顯示員工名字,月薪,獎金,總月薪,給總月薪列定義一個新列名total_sal  
SQL> select ENAME,COMM,SAL+nvl(COMM,0) as "tatal_sal"  from EMP;
 
10.顯示員工名字,部門編號,年薪,給年薪定義個列名
SQL> select ENAME,EMPNO ,(nvl(COMM,0)+SAL)*12 as "year_sal" from EMP;
 
11.顯示員工全部惟一部門編號信息
SQL> select distinct ( DEPTNO)  from EMP ;
 
12.顯示員工名字,職位[名字與職位之間用逗號和空格分割開]
SQL> select ENAME||' ,'||JOB from EMP;
 
13.顯示員工名字,職位[名字與職位之間增長 is work 顯示內容]
SQL> select ENAME||' is work '||JOB from EMP;
 
14.顯示員工名字,職位[名字與職位之間增長 ‘s work 顯示內容]
select ENAME||q'('s work)'||JOB from EMP;
 
15.顯示員工編號爲7788的員工名字
SQL> select ENAME from EMP where EMPNO=7788;
 
16.顯示員工名字爲FORD的職位,月薪
SQL> select JOB,SAL from EMP where ENAME='FORD';
 
 
17.顯示員工入職時間爲01-MAY-81的員工名字,員工年薪
SQL> select ENAME,(nvl(COMM,0)+SAL)*12 as "year_sal" from EMP where
HIREDATE='01-MAY-81';
 
18.顯示員工月薪爲3000的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL=3000;
 
19.顯示員工月薪不是3000的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL <>|^= |!= 3000;三種方式均可以
 
 
20.顯示員工月薪大於2800的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL>2800;
 
21.顯示員工月薪不大於2800的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL<=2800;
 
22.顯示員工月薪3000和5000的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL in( 3000 , 5000);
 
23.顯示員工月薪不是3000和不是5000的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL not in ( 3000 and 5000);
 
24.顯示員工月薪2000到3000之間的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL  between 2000 and 3000;
 
25.顯示員工月薪非2000到3000之間的員工名字,月薪
SQL> select ENAME ,SAL from EMP where SAL not  between 2000 and 3000;
 
26.顯示員工獎金爲空的員工名字,月薪,獎金
SQL> select ENAME,SAL,COMM from EMP where COMM is null;
 
27.顯示員工獎金不爲空的員工名字,月薪,獎金
SQL> select ENAME,SAL,COMM from EMP where COMM is not null;
 
28.顯示員工有獎金的員工名字,月薪,獎金
SQL> select ENAME,SAL,COMM from EMP where COMM is not null and COMM>0;
 
29.顯示員工名字是A開頭的員工名字,職位
SQL> select ENAME,JOB from EMP where ENAME like 'A%';
 
30.顯示員工名字第三個字符是A的員工名字,職位
SQL> select ENAME,JOB from EMP where ENAME like '__A%';
 
31.顯示員工名字T結尾的員工名字,職位
SQL> select ENAME,JOB from EMP where ENAME like '%T';
 
32.顯示員工月薪大於2000且部門編號小於30的員工名字,部門編號,月薪
SQL> select ENAME,EMPNO,SAL from EMP where SAL>2000 and DEPTNO<30;
 
33.顯示員工月薪大於2000且部門編號等於10的員工名字,部門編號,月薪
SQL> select ENAME,EMPNO,SAL from EMP where SAL>2000 and DEPTNO=10;
 
34.顯示員工月薪大於2000或部門編號等於10的員工名字,部門編號,月薪
SQL> select ENAME,EMPNO,SAL from EMP where SAL>2000 or  DEPTNO=10;
 
35.顯示員工職位是CLERK和SALESMAN,且月薪大於1280的員工名字,職位,月薪
SQL> select ENAME,EMPNO,SAL from EMP where SAL>1280 and  JOB in
('CLERK','SALESMAN');
 
36.顯示員工全部信息,且薪水從高到底顯示
SQL> select * from EMP order by SAL desc;
 
37.顯示員工全部信息,且部門編號從低到高,薪水從高到底顯示
SQL> select * from EMP order by SAL DESC,DEPTNO ASC;
 
38.顯示員工名字,薪水,獎金,獎金從低到高顯示
SQL> select ENAME,SAL,nvl(COMM,0) from EMP order by nvl(COMM,0);
 
39.顯示員工名字,薪水,獎金,獎金從低到高顯示其中null在前
SQL> select ENAME,SAL,COMM from EMP order by nvl(COMM,-1);
SQL> select  ENAME,SAL,COMM from EMP order by COMM first;
40.顯示員工名字,薪水,獎金,獎金從高到低顯示其中null在後
SQL> select ENAME,SAL,COMM from EMP order by nvl(COMM,-1) desc;
SQL> select ENAME,SAL,COMM from EMP order by COMM  desc last;
SQL> select ENAME,SAL,COMM from EMP where COMM is null;
 
27.顯示員工獎金不爲空的員工名字,月薪,獎金
SQL> select ENAME,SAL,COMM from EMP where COMM is not null;
 
28.顯示員工有獎金的員工名字,月薪,獎金
SQL> select ENAME,SAL,COMM from EMP where COMM is not null and COMM>0;
 
29.顯示員工名字是A開頭的員工名字,職位
SQL> select ENAME,JOB from EMP where ENAME like 'A%';
 
30.顯示員工名字第三個字符是A的員工名字,職位
SQL> select ENAME,JOB from EMP where ENAME like '__A%';
 
31.顯示員工名字T結尾的員工名字,職位
SQL> select ENAME,JOB from EMP where ENAME like '%T';
 
32.顯示員工月薪大於2000且部門編號小於30的員工名字,部門編號,月薪
SQL> select ENAME,EMPNO,SAL from EMP where SAL>2000 and DEPTNO<30;
 
33.顯示員工月薪大於2000且部門編號等於10的員工名字,部門編號,月薪
SQL> select ENAME,EMPNO,SAL from EMP where SAL>2000 and DEPTNO=10;
 
34.顯示員工月薪大於2000或部門編號等於10的員工名字,部門編號,月薪
SQL> select ENAME,EMPNO,SAL from EMP where SAL>2000 or  DEPTNO=10;
 
35.顯示員工職位是CLERK和SALESMAN,且月薪大於1280的員工名字,職位,月薪
SQL> select ENAME,EMPNO,SAL from EMP where SAL>1280 and  JOB in
('CLERK','SALESMAN');
 
36.顯示員工全部信息,且薪水從高到底顯示
SQL> select * from EMP order by SAL desc;
 
37.顯示員工全部信息,且部門編號從低到高,薪水從高到底顯示
SQL> select * from EMP order by SAL DESC,DEPTNO ASC;
 
38.顯示員工名字,薪水,獎金,獎金從低到高顯示
SQL> select ENAME,SAL,nvl(COMM,0) from EMP order by nvl(COMM,0);
 
39.顯示員工名字,薪水,獎金,獎金從低到高顯示其中null在前
SQL> select ENAME,SAL,COMM from EMP order by nvl(COMM,-1);
SQL> select  ENAME,SAL,COMM from EMP order by COMM first;
40.顯示員工名字,薪水,獎金,獎金從高到低顯示其中null在後
SQL> select ENAME,SAL,COMM from EMP order by nvl(COMM,-1) desc;
SQL> select ENAME,SAL,COMM from EMP order by COMM  desc last;sql

相關文章
相關標籤/搜索