select*fromemp;EMPNOENAMEJOBMGRHIREDATESALCOMM---------------------------------------------------------------------DEPTNO----------7369SMITHCLERK790217-12月-8080020" />
SQL> show user
USER 为"SCOTT"
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-12月-80 800
20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300
30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-4月 -81 2975
20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400
30
7698 BLAKE MANAGER 7839 01-5月 -81 2850
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7782 CLARK MANAGER 7839 09-6月 -81 2450
10
7788 SCOTT ANALYST 7566 19-4月 -87 3000
20
7839 KING PRESIDENT 17-11月-81 5000
10
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0
30
7876 ADAMS CLERK 7788 23-5月 -87 1100
20
7900 JAMES CLERK 7698 03-12月-81 950
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-12月-81 3000
20
7934 MILLER CLERK 7782 23-1月 -82 1300
10
已选择14行
SQL> select ename,deptno,sal from emp
2 where sal>=1000 and sal<=2000;
ENAME DEPTNO SAL
---------- ---------- ----------
ALLEN 30 1600
WARD 30 1250
MARTIN 30 1250
TURNER 30 1500
ADAMS 20 1100
MILLER 10 1300
已选择6行。
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> select deptno,dname from dept order by dname;
DEPTNO DNAME
---------- --------------
10 ACCOUNTING
40 OPERATIONS
20 RESEARCH
30 SALES
SQL> select job from emp;
JOB
---------
CLERK
SALESMAN
SALESMAN
MANAGER
SALESMAN
MANAGER
MANAGER
ANALYST
PRESIDENT
SALESMAN
CLERK
JOB
---------
CLERK
ANALYST
CLERK
已选择14行。
SQL> select distinct job from emp;
JOB
---------
ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN
SQL> select * from emp where deptno>=10 and deptno<=20 order by ename;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7876 ADAMS CLERK 7788 23-5月 -87 1100
20
7782 CLARK MANAGER 7839 09-6月 -81 2450
10
7902 FORD ANALYST 7566 03-12月-81 3000
20
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-4月 -81 2975
20
7839 KING PRESIDENT 17-11月-81 5000
10
7934 MILLER CLERK 7782 23-1月 -82 1300
10
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7788 SCOTT ANALYST 7566 19-4月 -87 3000
20
7369 SMITH CLERK 7902 17-12月-80
800
20
已选择8行。
SQL> select * from emp where job='CLERK' and deptno=20;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-12月-80 800
20
7876 ADAMS CLERK 7788 23-5月 -87 1100
20
SQL> select ename from emp where ename like '%TH%' or ename like '%LL%';
ENAME
----------
SMITH
ALLEN
MILLER
SQL> select ename,sal from emp;
ENAME SAL
---------- ----------
SMITH 800
ALLEN 1600
WARD 1250
JONES 2975
MARTIN 1250
BLAKE 2850
CLARK 2450
SCOTT 3000
KING 5000
TURNER 1500
ADAMS 1100
ENAME SAL
---------- ----------
JAMES 950
FORD 3000
MILLER 1300
已选择14行。
SQL> select * from emp where hiredate like '%-%-82';
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- ---------- ---------- ----------
DEPTNO
----------
7934 MILLER CLERK 7782 23-1月 -82 1300
10
SQL> select deptno,avg(sal) from emp group by deptno;
DEPTNO AVG(SAL)
---------- ----------
10 2916.66667
20 2175
30 1566.66667
SQL> select deptno,max(sal) from emp group by deptno;
DEPTNO MAX(SAL)
---------- ----------
10 5000
20 3000
30 2850
SQL> select ename,sal from emp where sal in (select max(sal) from emp group by deptno);
ENAME SAL
---------- ----------
BLAKE 2850
SCOTT 3000
FORD 3000
KING 5000
SQL> select ename,deptno,sal from emp where sal in (select max(sal) from emp group by deptno);
ENAME DEPTNO SAL
---------- ---------- ----------
BLAKE 30 2850
SCOTT 20 3000
FORD 20 3000
KING 10 5000
SQL> select t.deptno,count(*) from emp t,(select avg(e.sal) avgsal from emp e) a
2 where t.sal>a.avgsal
3 group by t.d
eptno;
DEPTNO COUNT(*)
---------- ----------
10 2
20 3
30 1
SQL> CREATE TABLE PROJECTS
2 ( PROJID NUMBER(4) PRIMARY KEY,
3 P_DESC VARCHAR2(20),
4 P_START_DATE DATE,
5 P_END_DATE DATE,
6 BUDGET_AMOUNT NUMBER(7,2)
7 );
表已创建。
SQL> CREATE TABLE ASSIGNMENT
2 ( PROJID NUMBER(4),
3 EMPNO NUMBER(4),
4 A_START_DATE DATE,
5 A_END_DATE DATE,
6 BILL_RATE NUMBER(4,2),
7 ASSIGN_TYPE VARCHAR2(2),
8 FOREIGN KEY (PROJID) REFERENCES PROJECTS(PROJID),
9 FOREIGN KEY (EMPNO) REFERENCES EMP(EMPNO)
10 );
表已创建。
SQL> DESCRIBE PROJECTS;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NOT NULL NUMBER(4)
P_DESC VARCHAR2(20)
P_START_DATE DATE
P_END_DATE DATE
BUDGET_AMOUNT NUMBER(7,2)
SQL> DROP TABLE ASSIGNMENT;
表已丢弃。
SQL> CREATE TABLE ASSIGNMENTS
2 ( PROJID NUMBER(4),
3 EMPNO NUMBER(4),
4 A_START_DATE DATE,
5 A_END_DATE DATE,
6 BILL_RATE NUMBER(4,2),
7 ASSIGN_TYPE VARCHAR2(2),
8 FOREIGN KEY (PROJID) REFERENCES PROJECTS(PROJID),
9 FOREIGN KEY (EMPNO) REFERENCES EMP(EMPNO)
10 );
表已创建。
SQL> DESCRIBE PROJECTS;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NOT NULL NUMBER(4)
P_DESC VARCHAR2(20)
P_START_DATE DATE
P_END_DATE DATE
BUDGET_AMOUNT NUMBER(7,2)
SQL> DESCRIBE ASSIGNMENTS;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NUMBER(4)
EMPNO NUMBER(4)
A_START_DATE DATE
A_END_DATE DATE
BILL_RATE NUMBER(4,2)
ASSIGN_TYPE VARCHAR2(2)
SQL> DROP TABLE ASSIGNMENTS;
表已丢弃。
SQL> DROP TABLE PROJECTS;
表已丢弃。
SQL> CREATE TABLE PROJECTS
2 ( PROJID NUMBER(4) PRIMARY KEY,
3 P_DESC VARCHAR2(20),
4 P_START_DATE DATE,
5 P_END_DATE DATE,
6 BUDGET_AMOUNT NUMBER(7,2),
7 MAX_NO_STAFF NUMBER(2)
8 );
表已创建。
SQL> CREATE TABLE ASSIGNMENTS
2 ( PROJID NUMBER(4),
3 EMPNO NUMBER(4),
4 A_START_DATE DATE,
5 A_END_DATE DATE,
6 BILL_RATE NUMBER(4,2),
7 ASSIGN_TYPE VARCHAR2(2),
8 FOREIGN KEY (PROJID) REFERENCES PROJECTS(PROJID),
9 FOREIGN KEY (EMPNO) REFERENCES EMP(EMPNO)
10 );
表已创建。
SQL> DESCRIBE PROJECTS;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NOT NULL NUMBER(4)
P_DESC VARCHAR2(20)
P_START_DATE DATE
P_END_DATE DATE
BUDGET_AMOUNT NUMBER(7,2)
MAX_NO_STAFF NUMBER(2)
SQL> DESCRIBE ASSIGNMENTS;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NUMBER(4)
EMPNO NUMBER(4)
A_START_DATE DATE
A_END_DATE DATE
BILL_RATE NUMBER(4,2)
ASSIGN_TYPE VARCHAR2(2)
SQL> ALTER TABLE PROJECTS
2 ADD(COMMENTS LONG);
表已更改。
SQL> DESCRIBE PROJECTS;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NOT NULL NUMBER(4)
P_DESC VARCHAR2(20)
P_START_DATE DATE
P_END_DATE DATE
BUDGET_AMOUNT NUMBER(7,2)
MAX_NO_STAFF NUMBER(2)
COMMENTS LONG
SQL> ALTER TABLE ASSIGNMENTS
2 ADD(HOURS NUMBER);
表已更改。
SQL> DESCRIBE ASSIGNMENTS;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PROJID NUMBER(4)
EMPNO NUMBER(4)
A_START_DATE DATE
A_END_DATE DATE
BILL_RATE NUMBER(4,2)
ASSIGN_TYPE
VARCHAR2(2)
HOURS NUMBER
SQL> SPOOL OFF