溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

【sql學(xué)習(xí)】sql常用語(yǔ)法匯總

發(fā)布時(shí)間:2020-08-23 18:00:10 來(lái)源:網(wǎng)絡(luò) 閱讀:423 作者:浮爾魔司 欄目:數(shù)據(jù)庫(kù)



一、字符串函數(shù)是oracle使用最廣泛的一種函數(shù)(表是參考sql查詢(xún)介紹(二)中的表). 
A、LOWER(參數(shù)):把參數(shù)變成小寫(xiě) 
例如:查詢(xún)名稱(chēng)為scott的員工信息 (不區(qū)分大小寫(xiě)的查詢(xún)) 
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp  where lower(ename)='scott'; 
輸出的結(jié)果是: 
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO 
----- ---------- --------- ----- ----------- --------- --------- ------ 
7788 SCOTT      ANALYST    7566 1982-12-9     3000.00               20 

B、UPPER(參數(shù)):把參數(shù)變成大寫(xiě) 
例如:查詢(xún)名稱(chēng)為scott的員工信息 (不區(qū)分大小寫(xiě)的查詢(xún)) 
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp  where upper(ename)='scott'; 
輸出的結(jié)果是: 
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO 
----- ---------- --------- ----- ----------- --------- --------- ------ 
7788 SCOTT      ANALYST    7566 1982-12-9     3000.00               20 

C、INITCAP(參數(shù)): 把參數(shù)的首字母大寫(xiě) 
例如:查找員工編號(hào)是7788的信息,他的名字顯示成首字母大寫(xiě) 
SQL> select empno,initcap(ename),job,mgr,hiredate,sal,comm,deptno from emp where empno='7788'; 
顯示結(jié)果是: 
EMPNO INITCAP(ENAME) JOB         MGR HIREDATE          SAL      COMM DEPTNO 
----- -------------- --------- ----- ----------- --------- --------- ------ 
7788 Scott          ANALYST    7566 1982-12-9     3000.00               20 

D、LENGTH(參數(shù)): 返回參數(shù)的長(zhǎng)度 
例如:輸出員工編號(hào)是7788的job的長(zhǎng)度 
SQL> select length(job) as "7788的job的length" from emp where empno=7788; 
顯示的結(jié)果如下: 
  7788的job的length 
----------------- 
                7 

E、CONCAT(參數(shù)1,參數(shù)2): 把參數(shù)1和參數(shù)2連接起來(lái) 
例如:把員工7788的工資顯示成:薪水+獎(jiǎng)金 
SQL> select empno,ename,job,mgr,hiredate,concat(sal,comm) as "工資",deptno from emp where empno='7788'; 
顯示的結(jié)果如下: 
EMPNO   ENAME    JOB     MGR   HIREDATE     工資              DEPTNO 
-----   ------   ------  ----- -----------  ----------------  ------ 
7788    SCOTT    ANALYST 7566  1982-12-9    3000              20 

F、SUBSTR(參數(shù),開(kāi)始,截取數(shù)目): 截取參數(shù)  
例如:輸出員工編號(hào)是7788的job的后三位 
SQL> select empno,ename,job,substr(job,length(job)-2,3) as "job的后三位" from emp where empno=7788; 或:
select empno,ename,job,substr(job,length(job)-2) as "job的后三位" from emp where empno=7788;顯示的結(jié)果如下: 
EMPNO ENAME      JOB       job的后三位 
----- ---------- --------- ------------ 
7788 SCOTT      ANALYST   YST 


G、INSTR(參數(shù),字母): 返回字母首次出現(xiàn)的位置 
例如:查找用戶(hù)7788的名字中‘T’出現(xiàn)的位置 
SQL> select empno,ename,instr(ename,'T') as "T首次出現(xiàn)的位置" from emp where empno=7788; 
顯示的結(jié)果如下: 
EMPNO ENAME             T首次出現(xiàn)的位置 
----- ---------- --------------- 
7788 SCOTT                    4 

H、LPAD(參數(shù),長(zhǎng)度,在前補(bǔ)齊參數(shù)字母):向左補(bǔ)齊
例如:查找用戶(hù)是7788的薪水,如果不夠4位的話,前面補(bǔ)0 
SQL>  select empno,ename,sal,lpad(sal,6,'0') as "薪水是6位的格式" from emp where empno=7788; 
顯示的結(jié)果如下: 
EMPNO ENAME            SAL 薪水是6位的格式 
----- ---------- --------- ------------------------ 
7788 SCOTT        3000.00 003000 

I、RPAD(參數(shù),長(zhǎng)度,在后補(bǔ)齊參數(shù)字母):向右補(bǔ)齊
例如:查找用戶(hù)是7788的薪水,如果不夠4位的話,前面補(bǔ)0 
SQL>  select empno,ename,sal,rpad(sal,6,'0') as "薪水是6位的格式" from emp where empno=7788; 
顯示的結(jié)果如下: 
EMPNO ENAME            SAL 薪水是6位的格式 
----- ---------- --------- ------------------------ 
7788 SCOTT        3000.00 300000 

J、TRIM([both||leadingtrailing||]字母 from 參數(shù)):從參數(shù)中去掉指定的字母 
例如:查找員工編號(hào)是7788的去掉“T”后的員工姓名
SQL> select empno,ename,trim('T' from ename) as "去掉T后" from emp where empno=7788; 
或 
SQL> select empno,ename,trim(both 'T' from ename) as "去掉T后" from emp where empno=7788; 
顯示的結(jié)果如下: 
EMPNO ENAME      去掉T后 
----- ---------- ---------- 
7788 SCOTT      SCO 

例如:查找員工編號(hào)是7788的去掉左邊的“T”后的員工姓名
SQL> select empno,ename,trim(leading 'T' from ename) as "去掉T后" from emp where empno=7788; 
或: 
SQL> select empno,ename,ltrim(ename,'T') as "去掉T后" from emp where empno=7788; 
顯示的結(jié)果如下: 
EMPNO ENAME      去掉T后 
----- ---------- ---------- 
7788 SCOTT      SCOTT 

例如:查找員工編號(hào)是7788的去掉右邊的“T”后的員工姓名
SQL> select empno,ename,trim(trailing 'T' from ename) as "去掉T后" from emp where empno=7788; 
或: 
SQL> select empno,ename,rtrim(ename,'T') as "去掉T后" from emp where empno=7788; 
顯示的結(jié)果如下: 
EMPNO ENAME      去掉T后 
----- ---------- ---------- 
7788 SCOTT      SCO 

K、REPLACE:(參數(shù),參數(shù)[,參數(shù)]): 第一個(gè)參數(shù)操作數(shù),第二是要查找的字符,第三個(gè)是替換的字符,如果沒(méi)有第三個(gè)就刪除查找的字符。 
例如:把編號(hào)7788的員工姓名中的‘T’換成‘L’ 
SQL> select empno,ename,replace(ename,'T','L') as "替換后" from emp where empno=7788; 
顯示的結(jié)果如下: 
EMPNO ENAME      替換后 
----- ---------- ---------- 
7788 SCOTT      SCOLL 



二、數(shù)字函數(shù) 
A、ROUND(參數(shù)): 四舍五入 
例如:查找12.89的四舍五入 
SQL> select round(12.89) from dual; 
顯示的結(jié)果如下: 
ROUND(12.89) 
------------ 
          13 

B、TRUNC(參數(shù)1[,參數(shù)2]): 截?cái)?,第一個(gè)參數(shù)是要操作的數(shù),第二個(gè)參數(shù)可有可無(wú),如果沒(méi)有的話,截?cái)嗟氖钦麛?shù)部分,如果參數(shù)2是正數(shù)的話,截取小數(shù)點(diǎn)右邊的‘參數(shù)2’個(gè)數(shù),如果是負(fù)數(shù)的話,截取小數(shù)點(diǎn)左邊的“參數(shù)2”個(gè)數(shù) 
例如:采用默認(rèn)的方式 
SQL> select trunc(12.89) from dual; 
顯示的結(jié)果: 
TRUNC(12.89) 
------------ 
          12 

例如:第二個(gè)參數(shù)是正數(shù)的時(shí)候 
SQL> select trunc(12.89,1) from dual; 
顯示的結(jié)果: 
TRUNC(12.89,1) 
-------------- 
          12.8 

例如:第二個(gè)參數(shù)是負(fù)數(shù)的時(shí)候 
SQL> select trunc(12.89,-1) from dual; 
顯示的結(jié)果: 
TRUNC(12.89,-1) 
--------------- 
             10 

C、MOD(參數(shù)1,參數(shù)2): 求參數(shù)1除以參數(shù)2后的余數(shù) 
例如:100除以30的余數(shù) 
SQL> select mod(100,30) from dual; 
顯示的結(jié)果: 
MOD(100,30) 
----------- 
         10 

D、ABS(參數(shù)):求參數(shù)的絕對(duì)值 
例如:求-10 的絕對(duì)值 
SQL> select abs(-10) from dual; 
顯示的結(jié)果: 
  ABS(-10) 
---------- 
        10 
E、CEIL(參數(shù)):返回大于或等于參數(shù)的最小整數(shù) 
SQL> select ceil(-10.23) from dual; 
顯示的結(jié)果: 
CEIL(-10.23) 
------------ 
         -10 

F、FLOOR(參數(shù)):返回小于或等于參數(shù)的最大整數(shù) 
例如:求-10.23的向下取整 
SQL> select floor(-10.23) from dual; 
顯示的結(jié)果: 
FLOOR(-10.23) 
------------ 
         -11 

G、SQRT(參數(shù)) :返回參數(shù)的平方根 負(fù)數(shù)無(wú)意義。 
例如:求4的平方根 
SQL> select sqrt(4) from dual; 
顯示的結(jié)果: 
   SQRT(4) 
---------- 
         2 
日期函數(shù):Oracle 中的日期型數(shù)據(jù)實(shí)際含有兩個(gè)值: 日期和時(shí)間。默認(rèn)的日期格式是 DD-MON-RR.日期時(shí)間函數(shù)用來(lái)返回當(dāng)前系統(tǒng)的日期和時(shí)間、以及對(duì)日期和時(shí)間類(lèi)型的數(shù)據(jù)進(jìn)行處理運(yùn)算。 
A、sysdate();獲取系統(tǒng)的當(dāng)前日期 
例如: 
SQL> select sysdate from dual; 
顯示的結(jié)果是: 
SYSDATE 
----------- 
2011-4-8 13 
B、current_timestamp();獲取當(dāng)前的時(shí)間和日期值 
例如: 
SQL> select current_timestamp from dual; 
顯示的結(jié)果是: 
CURRENT_TIMESTAMP 
-------------------------------------------------------------------------------- 
08-4月 -11 01.38.27.546000 下午 +08:00 

C、add_months(date,count):在指定的日期上增加count個(gè)月 
例如:輸出當(dāng)前時(shí)間的加上3個(gè)月的后的時(shí)間 
SQL> select add_months(sysdate,3) from dual; 
顯示結(jié)果: 
ADD_MONTHS(SYSDATE,3) 
--------------------- 
2011-7-8 13:43:06 
D、last_day(date);返回日期date所在月的最后一天 
例如: 
SQL> select sysdate,last_day(sysdate) from dual; 
顯示結(jié)果: 
SYSDATE     LAST_DAY(SYSDATE) 
----------- ----------------- 
2011-4-8 13 2011-4-30 13:51:2 
E、months_between(date1,dates);返回date1到date2之間間隔多少個(gè)月 
例如: 
SQL> select sysdate,months_between(sysdate,add_months(sysdate,3)) from dual; 
顯示結(jié)果: 
SYSDATE     MONTHS_BETWEEN(SYSDATE,ADD_MON 
----------- ------------------------------ 
2011-4-8 13                             -3 
F、new_time(date,'this','other');將時(shí)間date從this時(shí)區(qū)轉(zhuǎn)換成other時(shí)區(qū) 
例如: 
SQL> select sysdate,new_time(sysdate,'GMT','AST') from dual; 
顯示結(jié)果: 
SYSDATE     NEW_TIME(SYSDATE,'GMT','AST') 
----------- ----------------------------- 
2011-4-8 13 2011-4-8 9: 
G、next_day(day,'week');返回指定日期或最后一的第一個(gè)星期幾的日期,這里day為星期幾 
例如: 
SQL> select sysdate,next_day(sysdate,'星期五') from dual; 
顯示結(jié)果: 
SYSDATE     NEXT_DAY(SYSDATE,'星期五') 
----------- -------------------------- 
2011-4-8 13 2011-4-15 13:53:10 

H、round(參數(shù),截取類(lèi)型):日期的四舍五入 
例如:四舍五入當(dāng)前時(shí)間年 
SQL> select sysdate,round(sysdate,'yyyy') from dual; 
顯示結(jié)果: 
SYSDATE     ROUND(SYSDATE,'YYYY') 
----------- --------------------- 
2011-4-9 22 2011-1-1 
例如:四舍五入當(dāng)前時(shí)間月 
SQL> select sysdate,round(sysdate,'mm') from dual; 
顯示結(jié)果: 
SYSDATE     ROUND(SYSDATE,'MM') 
----------- ------------------- 
2011-4-9 22 2011-4-1 
例如:四舍五入當(dāng)前時(shí)間日 
SQL> select sysdate,round(sysdate,'dd') from dual; 
顯示的結(jié)果: 
SYSDATE     ROUND(SYSDATE,'DD') 
----------- ------------------- 
2011-4-9 22 2011-4-10 
I、to_char(參數(shù),轉(zhuǎn)換的類(lèi)型): 日期的截取 
例如:截取當(dāng)前時(shí)間的年 
SQL> select sysdate,to_char(sysdate,'yyyy') from dual; 

顯示結(jié)果: 
SYSDATE     TO_CHAR(SYSDATE,'YYYY') 
----------- ----------------------- 
2011-4-9 22 2011 
例如:截取當(dāng)前時(shí)間的月 
SQL> select sysdate,to_char(sysdate,'mm') from dual; 
顯示結(jié)果: 
SYSDATE     TO_CHAR(SYSDATE,'MM') 
----------- --------------------- 
2011-4-9 22 04 
例如:截取當(dāng)前時(shí)間的日 
SQL> select sysdate,to_char(sysdate,'dd') from dual; 
顯示結(jié)果: 
SYSDATE     TO_CHAR(SYSDATE,'DD') 
----------- --------------------- 
2011-4-9 22 09 

日期的數(shù)學(xué)運(yùn)算: 
在日期上加上或減去一個(gè)數(shù)字結(jié)果仍為日期。 
兩個(gè)日期相減返回日期之間相差的天數(shù)。 
可以用數(shù)字除24來(lái)向日期中加上或減去小時(shí) 
通用函數(shù) 
這些函數(shù)適用于任何數(shù)據(jù)類(lèi)型,同時(shí)也適用于空值: 
A、NVL (expr1, expr2):如果expr1為空的話,顯示expr2 
例如:查看emp如獎(jiǎng)金comm為空的話,替換成0 
SQL> select empno,ename,job,mgr,hiredate,sal,nvl(comm,0),deptno from emp; 
顯示結(jié)果: 
EMPNO ENAME      JOB         MGR HIREDATE          SAL NVL(COMM,0) DEPTNO 
----- ---------- --------- ----- ----------- --------- ----------- ------ 
7369 SMITH      CLERK      7902 1980-12-17     800.00           0     20 
7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00         300     30 
7521 WARD       SALESMAN   7698 1981-2-22     1250.00         500     30 
7566 JONES      MANAGER    7839 1981-4-2      2975.00           0     20 
7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00        1400     30 
7698 BLAKE      MANAGER    7839 1981-5-1      2850.00           0     30 
7782 CLARK      MANAGER    7839 1981-6-9      2450.00           0     10 
7788 SCOTT      ANALYST    7566 1982-12-9     3000.00           0     20 
7839 KING       PRESIDENT       1981-11-17    5000.00           0     10 
7844 TURNER     SALESMAN   7698 1981-9-8      1500.00           0     30 
7876 ADAMS      CLERK      7788 1983-1-12     1100.00           0     20 
7900 JAMES      CLERK      7698 1981-12-3      950.00           0     30 
7902 FORD       ANALYST    7566 1981-12-3     3000.00           0     20 
7934 MILLER     CLERK      7782 1982-1-23     1300.00           0     10 

14 rows selected 
B、NVL2 (expr1, expr2, expr3):如果expr1為不空的話,顯示expr2,如果expr1為空的話,顯示expr3 
例如:查找員工的編號(hào)是7521的員工的工資,如果獎(jiǎng)金(comm)不為空的話,顯示工資加獎(jiǎng)金 
SQL> select sal,nvl2(comm,sal+comm,sal) from emp where empno=7521; 
顯示結(jié)果: 
      SAL NVL2(COMM,SAL+COMM,SAL) 
--------- ----------------------- 
  1250.00                    1750 
C、NULLIF (expr1, expr2):expr1與expr2相等返回NULL,不等返回expr1 
例如:查看員工7788的薪水和獎(jiǎng)金,如果薪水和獎(jiǎng)金相等的話返回null,否則返回工資 
SQL> select sal,comm,nullif(sal,comm) from emp where empno=7788; 
顯示結(jié)果: 
      SAL      COMM NULLIF(SAL,COMM) 
--------- --------- ---------------- 
  3000.00                       3000 
D、COALESCE (expr1, expr2, ..., exprn):如果第一個(gè)表達(dá)式為空,則返回下一個(gè)表達(dá)式。COALESCE 與 NVL 相比的優(yōu)點(diǎn)在于 COALESCE 可以同時(shí)處理交替的多個(gè)值 
例如:在emp表中測(cè)試的 
為了測(cè)試,向emp表中添加一條記錄: 
SQL> insert into emp(empno,ename,deptno) values(7978,'guo',10); 
測(cè)試語(yǔ)句: 
SQL>  select empno,ename,job,mgr,hiredate,sal,comm,deptno,coalesce(comm,sal,1000) as "測(cè)試結(jié)果" from emp; 
顯示結(jié)果: 
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO       測(cè)試結(jié)果 
----- ---------- --------- ----- ----------- --------- --------- ------ ---------- 
7369 SMITH      CLERK      7902 1980-12-17     800.00               20        800 
7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30        300 
7521 WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30        500 
7566 JONES      MANAGER    7839 1981-4-2      2975.00               20       2975 
7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30       1400 
7698 BLAKE      MANAGER    7839 1981-5-1      2850.00               30       2850 
7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10       2450 
7788 SCOTT      ANALYST    7566 1982-12-9     3000.00               20       3000 
7839 KING       PRESIDENT       1981-11-17    5000.00               10       5000 
7844 TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30          0 
7876 ADAMS      CLERK      7788 1983-1-12     1100.00               20       1100 
7900 JAMES      CLERK      7698 1981-12-3      950.00               30        950 
7902 FORD       ANALYST    7566 1981-12-3     3000.00               20       3000 
7934 MILLER     CLERK      7782 1982-1-23     1300.00               10       1300 
7978 guo                                                            10       1000 

15 rows selected 


組合函數(shù): 
分組函數(shù)作用于一組數(shù)據(jù),并對(duì)一組數(shù)據(jù)返回一個(gè)值。  
A、AVG(字段名):求該字段的平均值 
例如:求出emp表中工資的平均值 
SQL> select avg(nvl(sal,0)) from emp; 
顯示結(jié)果: 
AVG(NVL(SAL,0)) 
--------------- 
           1935 
B、COUNT(字段名):求該字段中的總記錄 
例如:查詢(xún)emp表中有幾條記錄 
SQL> select count(*) from emp; 
顯示結(jié)果: 
  COUNT(*) 
---------- 
        15 
C、MAX(字段名):求該字段的最大值 
例如:求出emp表中的最高的工資的員工 
SQL> select max(nvl(sal,0)) from emp; 
顯示結(jié)果: 
MAX(NVL(SAL,0)) 
--------------- 
           5000 
D、MIN(字段名):求該字段的最小值 
例如:求出emp表中的最低的工資的員工 
SQL> select min(nvl(sal,0)) from emp; 
顯示結(jié)果: 
MIN(NVL(SAL,0)) 
--------------- 
              0 
E、SUM(字段名):求該字段的和 
例如:求emp一個(gè)需要發(fā)多少工資 
SQL> select sum(sal)+sum(comm) as "總工資" from emp; 
顯示結(jié)果: 
MIN(NVL(SAL,0)) 
--------------- 
              0 

非法使用組函數(shù) 
A、所用包含于SELECT 列表中,而未包含于組函數(shù)中的列都必須包含于 GROUP BY 子句中。 
例如: 
SQL> select empno,count(job) from emp; 
正確寫(xiě)法如下: 
SQL> select empno,count(job) from emp group by empno; 
B、不能在 WHERE 子句中使用組函數(shù)(注意)。 
例如:SQL> select deptno from emp where count(job)>0 group by deptno; 
備注:ORA-00934: 此處不允許使用分組函數(shù) 


group by 語(yǔ)句 
如果在查詢(xún)的過(guò)程中需要按某一列的值進(jìn)行分組,以統(tǒng)計(jì)該組內(nèi)數(shù)據(jù)的信息時(shí),就要使用group by子句。不管select是否使用了where子句都可以使用group by子句。 
注意:group by子句一定要與分組函數(shù)結(jié)合使用,否則沒(méi)有意義。 

求出每個(gè)部門(mén)的員工的數(shù) 
SQL> select count(*) from emp group by deptno; 
顯示的結(jié)果: 
  COUNT(*) 
---------- 
         6 
         5 
         4 
求每個(gè)部門(mén)的中員工的平均工資 
SQL> select avg(nvl(sal,0)) from emp group by deptno; 
顯示的結(jié)果: 
AVG(NVL(SAL,0)) 
--------------- 
1566.6666666666 
           2175 
         2187.5 

Having子句 
HAVING 子句對(duì) GROUP BY 子句設(shè)置條件的方式與 WHERE 子句和 SELECT 語(yǔ)句交互的方式類(lèi)似。WHERE 子句搜索條件在進(jìn)行分組操作之前應(yīng)用;而 HAVING 搜索條件在進(jìn)行分組操作之后應(yīng)用。HAVING 語(yǔ)法與 WHERE 語(yǔ)法類(lèi)似,但 HAVING 可以包含聚合函數(shù)。HAVING 子句可以引用選擇列表中出現(xiàn)的任意項(xiàng)。 
備注:having子句通常與group by子句結(jié)合使用 

語(yǔ)法: 
SELECT column, group_function 
FROM table 
[WHERE condition] 
[GROUP BY group_by_expression] 
[HAVING group_condition] 
[ORDER BY column]; 

A、查詢(xún)部門(mén)的員工人數(shù)大于五部門(mén)編號(hào) 
SQL> select deptno,count(*) from emp group by deptno having count(*)>5; 
顯示結(jié)果: 
DEPTNO   COUNT(*) 
------ ---------- 
    30          6 

備注:分組函數(shù)可以嵌套 


Order by語(yǔ)句 
ORDER BY 子句在SELECT語(yǔ)句的結(jié)尾。使用 ORDER BY 子句排序 :ASC(ascend): 升序 ;DESC(descend): 降序 。默認(rèn)的是ASC升序 
查詢(xún)員工信息按照部門(mén)的編號(hào)進(jìn)行升序排列 
SQL>  select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by empno; 
或: 
SQL>  select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by empno asc; 
顯示的結(jié)果: 
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO 
----- ---------- --------- ----- ----------- --------- --------- ------ 
7369 SMITH      CLERK      7902 1980-12-17     800.00               20 
7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30 
7521 WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30 
7566 JONES      MANAGER    7839 1981-4-2      2975.00               20 
7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30 
7698 BLAKE      MANAGER    7839 1981-5-1      2850.00               30 
7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10 
7788 SCOTT      ANALYST    7566 1982-12-9     3000.00               20 
7839 KING       PRESIDENT       1981-11-17    5000.00               10 
7844 TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30 
7876 ADAMS      CLERK      7788 1983-1-12     1100.00               20 
7900 JAMES      CLERK      7698 1981-12-3      950.00               30 
7902 FORD       ANALYST    7566 1981-12-3     3000.00               20 
7934 MILLER     CLERK      7782 1982-1-23     1300.00               10 
7978 guo                                                            10 

15 rows selected 
查詢(xún)員工信息按照部門(mén)的編號(hào)進(jìn)行降序排列 
SQL>  select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by empno desc; 
顯示的結(jié)果: 
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO 
----- ---------- --------- ----- ----------- --------- --------- ------ 
7978 guo                                                            10 
7934 MILLER     CLERK      7782 1982-1-23     1300.00               10 
7902 FORD       ANALYST    7566 1981-12-3     3000.00               20 
7900 JAMES      CLERK      7698 1981-12-3      950.00               30 
7876 ADAMS      CLERK      7788 1983-1-12     1100.00               20 
7844 TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30 
7839 KING       PRESIDENT       1981-11-17    5000.00               10 
7788 SCOTT      ANALYST    7566 1982-12-9     3000.00               20 
7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10 
7698 BLAKE      MANAGER    7839 1981-5-1      2850.00               30 
7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30 
7566 JONES      MANAGER    7839 1981-4-2      2975.00               20 
7521 WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30 
7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30 
7369 SMITH      CLERK      7902 1980-12-17     800.00               20 

15 rows selected 
按部門(mén)升序,員工編號(hào)降序查詢(xún) 
SQL>  select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by deptno asc,empno desc; 
顯示的結(jié)果: 
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO 
----- ---------- --------- ----- ----------- --------- --------- ------ 
7978 guo                                                            10 
7934 MILLER     CLERK      7782 1982-1-23     1300.00               10 
7839 KING       PRESIDENT       1981-11-17    5000.00               10 
7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10 
7902 FORD       ANALYST    7566 1981-12-3     3000.00               20 
7876 ADAMS      CLERK      7788 1983-1-12     1100.00               20 
7788 SCOTT      ANALYST    7566 1982-12-9     3000.00               20 
7566 JONES      MANAGER    7839 1981-4-2      2975.00               20 
7369 SMITH      CLERK      7902 1980-12-17     800.00               20 
7900 JAMES      CLERK      7698 1981-12-3      950.00               30 
7844 TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30 
7698 BLAKE      MANAGER    7839 1981-5-1      2850.00               30 
7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30 
7521 WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30 
7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30 

15 rows selected 

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI