您好,登錄后才能下訂單哦!
例如:SELECT DISTINCT deptno, job FROM emp;
SQL> conn scott/02000059
已連接。
SQL> SELECT deptno, job FROM emp;
DEPTNO JOB
20 CLERK
30 SALESMAN
30 SALESMAN
20 MANAGER
30 SALESMAN
30 MANAGER
10 MANAGER
20 ANALYST
10 PRESIDENT
30 SALESMAN
20 CLERK
30 CLERK
20 ANALYST
10 CLERK
已選擇14行。
SQL> SELECT DISTINCT deptno, job FROM emp;
DEPTNO JOB
20 CLERK
30 SALESMAN
20 MANAGER
30 CLERK
10 PRESIDENT
30 MANAGER
10 CLERK
10 MANAGER
20 ANALYST
已選擇9行。
SQL>
指定日期 | 當前年份 | RR格式說明 | RR結果年份 | YY格式說明 | YY結果年份 |
---|---|---|---|---|---|
18-1月-12 | 2017 | 指定年份在0-49之間,當前年份在0-49之間 | 2012 | 當前年份的前兩位 + 指定日期的后兩位 | 2012 |
18-1月-81 | 2017 | 指定年份在50-99之間,當前年份在0-49之間 | 1981(上一世紀) | 當前年份的前兩位 + 指定日期的后兩位 | 2081 |
18-1月-12 | 2060 | 指定年份在0-49之間,當前年份在50-99之間 | 2112(下一世紀) | 當前年份的前兩位 + 指定日期的后兩位 | 2012 |
18-1月-81 | 2060 | 指定年份在50-99之間,當前年份在50-99之間 | 2081 | 當前年份的前兩位 + 指定日期的后兩位 | 2081 |
SQL> ALTER SESSION SET nls_language='SIMPLIFIED
會話已更改。
pno, hiredate from emp;
EMPNO HIREDATE
7369 17-12月-80
7499 20-2月 -81
7521 22-2月 -81
7566 02-4月 -81
7654 28-9月 -81
7698 01-5月 -81
7782 09-6月 -81
7788 19-4月 -87
7839 17-11月-81
7844 08-9月 -81
7876 23-5月 -87
7900 03-12月-81
7902 03-12月-81
7934 23-1月 -82
已選擇14行。
SQL> ALTER SESSION SET nls_language = 'AMERICAN';
Session altered.
SQL> SELECT empno, hiredate from emp;
EMPNO HIREDATE
7369 17-DEC-80
7499 20-FEB-81
7521 22-FEB-81
7566 02-APR-81
7654 28-SEP-81
7698 01-MAY-81
7782 09-JUN-81
7788 19-APR-87
7839 17-NOV-81
7844 08-SEP-81
7876 23-MAY-87
7900 03-DEC-81
7902 03-DEC-81
7934 23-JAN-82
14 rows selected.
SQL> ALTER SESSION SET nls_date_format = 'YYYY/MM/DD';
Session altered.
SQL> SELECT empno, hiredate from emp;
EMPNO HIREDATE
7369 1980/12/17
7499 1981/02/20
7521 1981/02/22
7566 1981/04/02
7654 1981/09/28
7698 1981/05/01
7782 1981/06/09
7788 1987/04/19
7839 1981/11/17
7844 1981/09/08
7876 1987/05/23
7900 1981/12/03
7902 1981/12/03
7934 1982/01/23
14 rows selected.
SQL> SELECT empno, ename, sal, sal *12 year_sal from emp;
EMPNO ENAME SAL YEAR_SAL
7369 SMITH 800 9600
7499 ALLEN 1600 19200
7521 WARD 1250 15000
7566 JONES 2975 35700
7654 MARTIN 1250 15000
7698 BLAKE 2850 34200
7782 CLARK 2450 29400
7788 SCOTT 3000 36000
7839 KING 5000 60000
7844 TURNER 1500 18000
7876 ADAMS 1100 13200
7900 JAMES 950 11400
7902 FORD 3000 36000
7934 MILLER 1300 15600
14 rows selected.
SQL> SELECT empno, ename, sal * 12 + sal/2 year_sal from emp;
EMPNO ENAME YEAR_SAL
7369 SMITH 10000
7499 ALLEN 20000
7521 WARD 15625
7566 JONES 37187.5
7654 MARTIN 15625
7698 BLAKE 35625
7782 CLARK 30625
7788 SCOTT 37500
7839 KING 62500
7844 TURNER 18750
7876 ADAMS 13750
EMPNO ENAME YEAR_SAL
7900 JAMES 11875
7902 FORD 37500
7934 MILLER 16250
14 rows selected.
SQL> SELECT empno, ename, sal, comm, sal+ comm FROM emp;
EMPNO ENAME SAL COMM SAL+COMM
7369 SMITH 800
7499 ALLEN 1600 300 1900
7521 WARD 1250 500 1750
7566 JONES 2975
7654 MARTIN 1250 1400 2650
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7844 TURNER 1500 0 1500
7876 ADAMS 1100
7900 JAMES 950
7902 FORD 3000
7934 MILLER 1300
14 rows selected.
- 附件說明:空值和默認值
SQL> create table student(sid number(8,0) primary key, name varchar2(10), sex char(2) default '男', age number(2,0) default 20, address varchar2(50));
Table created.
SQL> Insert into student(sid, name) values(20012001, '張三');
1 row created.
SQL> Insert into student values(20011002, '王五', default, default, '廣東廣州');
1 row created.
不使用列的名稱別名:SELECT empno, ename, sal * 12 from emp;
SQL> conn scott/02000059
已連接。
SQL> select empno, ename, sal * 12 FROM emp;
EMPNO ENAME SAL*12
7369 SMITH 9600
7499 ALLEN 19200
7521 WARD 15000
7566 JONES 35700
7654 MARTIN 15000
7698 BLAKE 34200
7782 CLARK 29400
7788 SCOTT 36000
7839 KING 60000
7844 TURNER 18000
7876 ADAMS 13200
EMPNO ENAME SAL*12
7900 JAMES 11400
7902 FORD 36000
7934 MILLER 15600
已選擇14行。
使用列的別名:SELECT empno "雇員編號" , ename "雇員名" , sal 12 "全年工資" FROM emp;、SELECT empno "雇員編號", ename "雇員名" , sal 12 AS "全年工資" FROM emp;、SELECT empno 雇員編號, ename 雇員名, sal * 12 全年工資 FROM emp;。
SQL> SELECT empno "雇員編號" , ename "雇員名" , sal * 12 "全年工資" FROM emp;
雇員編號 雇員名 全年工資
7369 SMITH 9600
7499 ALLEN 19200
7521 WARD 15000
7566 JONES 35700
7654 MARTIN 15000
7698 BLAKE 34200
7782 CLARK 29400
7788 SCOTT 36000
7839 KING 60000
7844 TURNER 18000
7876 ADAMS 13200
雇員編號 雇員名 全年工資
7900 JAMES 11400
7902 FORD 36000
7934 MILLER 15600
已選擇14行。
SQL> SELECT empno "雇員編號", ename "雇員名" , sal * 12 AS "全年工資" FROM emp;
雇員編號 雇員名 全年工資
7369 SMITH 9600
7499 ALLEN 19200
7521 WARD 15000
7566 JONES 35700
7654 MARTIN 15000
7698 BLAKE 34200
7782 CLARK 29400
7788 SCOTT 36000
7839 KING 60000
7844 TURNER 18000
7876 ADAMS 13200
雇員編號 雇員名 全年工資
7900 JAMES 11400
7902 FORD 36000
7934 MILLER 15600
已選擇14行。
SQL> SELECT empno 雇員編號, ename 雇員名, sal * 12 全年工資 FROM emp;
雇員編號 雇員名 全年工資
7369 SMITH 9600
7499 ALLEN 19200
7521 WARD 15000
7566 JONES 35700
7654 MARTIN 15000
7698 BLAKE 34200
7782 CLARK 29400
7788 SCOTT 36000
7839 KING 60000
7844 TURNER 18000
7876 ADAMS 13200
雇員編號 雇員名 全年工資
7900 JAMES 11400
7902 FORD 36000
7934 MILLER 15600
已選擇14行。
舉例:select ename || '的崗位是:' || job as 員工的職位信息描述 from emp;
SQL> select ename || '的崗位是:' || job as 員工的職位信息描述 from emp;
員工的職位信息描述
SMITH的崗位是:CLERK
ALLEN的崗位是:SALESMAN
WARD的崗位是:SALESMAN
JONES的崗位是:MANAGER
MARTIN的崗位是:SALESMAN
BLAKE的崗位是:MANAGER
CLARK的崗位是:MANAGER
SCOTT的崗位是:ANALYST
KING的崗位是:PRESIDENT
TURNER的崗位是:SALESMAN
ADAMS的崗位是:CLERK
員工的職位信息描述
JAMES的崗位是:CLERK
FORD的崗位是:ANALYST
MILLER的崗位是:CLERK
已選擇14行。
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 deptno = 20;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
7369 SMITH CLERK 7902 17-12月-80 800
20
7566 JONES MANAGER 7839 02-4月 -81 2975
20
7788 SCOTT ANALYST 7566 19-4月 -87 3000
20
7876 ADAMS CLERK 7788 23-5月 -87 1100
20
7902 FORD ANALYST 7566 03-12月-81 3000
20
SQL> SELECT * FROM emp WHERE job = 'MANAGER';
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
7566 JONES MANAGER 7839 02-4月 -81 2975
20
7698 BLAKE MANAGER 7839 01-5月 -81 2850
30
7782 CLARK MANAGER 7839 09-6月 -81 2450
SQL> select * from emp where hiredate = '02-4月-81';
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
7566 JONES MANAGER 7839 02-4月 -81 2975
20
運算符 | 說明 |
---|---|
= | 等于(不是==) |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
<> | 不等于!= |
SQL> SELECT * FROM emp WHERE sal <> 3000;
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
7839 KING PRESIDENT 17-11月-81 5000
10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
7876 ADAMS CLERK 7788 23-5月 -87 1100
20
7900 JAMES CLERK 7698 03-12月-81 950
30
7934 MILLER CLERK 7782 23-1月 -82 1300
10
已選擇12行。
SQL> SELECT empno, ename, sal from emp where sal between 1500 and 3000;
EMPNO ENAME SAL
7499 ALLEN 1600
7566 JONES 2975
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7844 TURNER 1500
7902 FORD 3000
已選擇7行。
SQL> select empno, ename, job from emp where job in ('SALESMAN', 'MANAGER' , 'CLERK');
EMPNO ENAME JOB
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7566 JONES MANAGER
7654 MARTIN SALESMAN
7698 BLAKE MANAGER
7782 CLARK MANAGER
7844 TURNER SALESMAN
7876 ADAMS CLERK
7900 JAMES CLERK
7934 MILLER CLERK
已選擇11行。
SQL> select * from emp where ename like 'J%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
7566 JONES MANAGER 7839 02-4月 -81 2975
20
7900 JAMES CLERK 7698 03-12月-81 950
30
QL> select * from emp where ename like '_AR%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
7521 WARD SALESMAN 7698 22-2月 -81 1250 500
30
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400
30
SQL> select * from emp where ename like 'G\_%' escape '\';
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
7369 G_EASON CLERK 7902 17-12月-80 800
20
SQL> select empno, ename, sal, comm from emp where comm is null;
EMPNO ENAME SAL COMM
7369 G_EASON 800
7566 JONES 2975
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7876 ADAMS 1100
7900 JAMES 950
7902 FORD 3000
7934 MILLER 1300
已選擇10行。
SQL> select empno, ename ,sal, comm from emp where comm is not null;
EMPNO ENAME SAL COMM
7499 ALLEN 1600 300
7521 WARD 1250 500
7654 MARTIN 1250 1400
7844 TURNER 1500 0
SQL> SELECT empno, ename, job, deptno from emp where job='MANAGER' and deptno = 10;
EMPNO ENAME JOB DEPTNO
7782 CLARK MANAGER 10
SQL> select empno, ename, job, sal from emp where job='MANAGER' or sal > 2000;
EMPNO ENAME JOB SAL
7566 JONES MANAGER 2975
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450
7788 SCOTT ANALYST 3000
7839 KING PRESIDENT 5000
7902 FORD ANALYST 3000
已選擇6行。
SQL> select empno, ename, job from emp where job not in('CLERK', 'SALESMAN', 'MANAGER');
EMPNO ENAME JOB
7788 SCOTT ANALYST
7839 KING PRESIDENT
7902 FORD ANALYST
SQL> SELECT empno, ename, job, sal from emp where (sal > 2000 or deptno = 30) and job not in ('PRESIDENT', 'MANAGER');
EMPNO ENAME JOB SAL
7499 ALLEN SALESMAN 1600
7521 WARD SALESMAN 1250
7654 MARTIN SALESMAN 1250
7788 SCOTT ANALYST 3000
7844 TURNER SALESMAN 1500
7900 JAMES CLERK 950
7902 FORD ANALYST 3000
已選擇7行。
SELECT ename, sal FROM emp ORDER BY sal;(默認升序)
SQL> SELECT ename, sal FROM emp ORDER BY sal ASC;
ENAME SAL
G_EASON 800
JAMES 950
ADAMS 1100
WARD 1250
MARTIN 1250
MILLER 1300
TURNER 1500
ALLEN 1600
CLARK 2450
BLAKE 2850
JONES 2975
ENAME SAL
SCOTT 3000
FORD 3000
KING 5000
已選擇14行。
SQL> SELECT ename, sal FROM emp ORDER BY sal DESC;
ENAME SAL
KING 5000
FORD 3000
SCOTT 3000
JONES 2975
BLAKE 2850
CLARK 2450
ALLEN 1600
TURNER 1500
MILLER 1300
WARD 1250
MARTIN 1250
ENAME SAL
ADAMS 1100
JAMES 950
G_EASON 800
已選擇14行。
select empno, ename, sal * 12 年收入 from emp order by 年收入 ASC;
SQL> select empno, ename, sal * 12 年收入 from emp order by 年收入 ASC;
EMPNO ENAME 年收入
7369 G_EASON 9600
7900 JAMES 11400
7876 ADAMS 13200
7521 WARD 15000
7654 MARTIN 15000
7934 MILLER 15600
7844 TURNER 18000
7499 ALLEN 19200
7782 CLARK 29400
7698 BLAKE 34200
7566 JONES 35700
7788 SCOTT 36000
7902 FORD 36000
7839 KING 60000
已選擇14行。
SQL> SELECT empno, ename, deptno, sal from emp order by deptno asc, sal desc;
EMPNO ENAME DEPTNO SAL
7839 KING 10 5000
7782 CLARK 10 2450
7934 MILLER 10 1300
7788 SCOTT 20 3000
7902 FORD 20 3000
7566 JONES 20 2975
7876 ADAMS 20 1100
7369 G_EASON 20 800
7698 BLAKE 30 2850
7499 ALLEN 30 1600
7844 TURNER 30 1500
7654 MARTIN 30 1250
7521 WARD 30 1250
7900 JAMES 30 950
已選擇14行。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。