日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ORACLE SQL:经典查询练手第二篇

發布時間:2024/9/20 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORACLE SQL:经典查询练手第二篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  本文使用的實例表結構與表的數據如下:
  scott.emp員工表結構如下:
  SQL> DESC SCOTT.EMP;
  Name???? Type???????? Nullable Default Comments
  -------- ------------ -------- ------- --------
  EMPNO??? NUMBER(4)???????????????????? 員工編號
  ENAME??? VARCHAR2(10) Y??????????????? 員工姓名
  JOB????? VARCHAR2(9)? Y??????????????? 職位
  MGR????? NUMBER(4)??? Y??????????????? 上級編號
  HIREDATE DATE???????? Y??????????????? 雇傭日期
  SAL????? NUMBER(7,2)? Y??????????????? 薪金
  COMM???? NUMBER(7,2)? Y??????????????? 傭金
  DEPTNO?? NUMBER(2)??? Y??????????????? 所在部門編號
  --提示:工資 = 薪金 + 傭金
  scott.dept部門表
  SQL> DESC SCOTT.DEPT;
  Name?? Type???????? Nullable Default Comments
  ------ ------------ -------- ------- --------
  DEPTNO NUMBER(3)???????????????????? 部門編號
  DNAME? VARCHAR2(14) Y??????????????? 部門名稱
  LOC??? VARCHAR2(13) Y??????????????? 地點
  scott.emp表的現有數據如下:
  SQL> SELECT * FROM SCOTT.EMP;
  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 1987-4-19???? 4000.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 1987-5-23???? 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
  102 EricHu???? Developer? 1455 2011-5-26 1?? 5500.00???? 14.00???? 10
  104 huyong???? PM???????? 1455 2011-5-26 1?? 5500.00???? 14.00???? 10
  105 WANGJING?? Developer? 1455 2011-5-26 1?? 5500.00???? 14.00???? 10
  17 rows selected
  Scott.dept表的現有數據如下:
  SQL> SELECT * FROM SCOTT.DEPT;
  DEPTNO DNAME????????? LOC
  ------ -------------- -------------
  110 信息科???????? 海口
  10 ACCOUNTING???? NEW YORK
  20 RESEARCH?????? DALLAS
  30 SALES????????? CHICAGO
  40 OPERATIONS???? BOSTON
  50 50abc????????? 50def
  60 Developer????? HaiKou
  7 rows selected
  用SQL完成以下問題列表:
  1. 找出EMP表中的姓名(ENAME)第三個字母是A 的員工姓名。
  2. 找出EMP表員工名字中含有A 和N的員工姓名。
  3. 找出所有有傭金的員工,列出姓名、工資、傭金,顯示結果按工資從小到大,傭金從大到小。
  4. 列出部門編號為20的所有職位。
  5. 列出不屬于SALES 的部門。
  6. 顯示工資不在1000 到1500 之間的員工信息:名字、工資,按工資從大到小排序。
  7. 顯示職位為MANAGER 和SALESMAN,年薪在15000 和20000 之間的員工的信息:名字、職位、年薪。
  8. 說明以下兩條SQL語句的輸出結果:
  SELECT EMPNO,COMM FROM EMP WHERE COMM IS NULL;
  SELECT EMPNO,COMM FROM EMP WHERE COMM = NULL;
  9. 讓SELECT 語句的輸出結果為
  SELECT * FROM SALGRADE;
  SELECT * FROM BONUS;
  SELECT * FROM EMP;
  SELECT * FROM DEPT;
  ……
  列出當前用戶有多少張數據表,結果集中存在多少條記錄。
  10. 判斷SELECT ENAME,SAL FROM EMP WHERE SAL > '1500'是否抱錯,為什么?
  各試題解答如下(歡迎大家指出不同的方法或建議!):
  --------1. 找出EMP表中的姓名(ENAME)第三個字母是A 的員工姓名。---------
  SQL> SELECT ENAME FROM SCOTT.EMP WHERE ENAME LIKE '__A%';
  ENAME
  ----------
  ADAMS
  BLAKE
  CLARK
  -------2. 找出EMP表員工名字中含有A 和N的員工姓名。----------
  SQL> SELECT ENAME FROM SCOTT.EMP WHERE ENAME LIKE '%A%' AND ENAME LIKE '%N%';
  ENAME
  ----------
  ALLEN
  MARTIN
  WANGJING
  --------或--------
  SQL> SELECT ENAME FROM SCOTT.EMP WHERE ENAME LIKE '%A%N%';
  ENAME
  ----------
  ALLEN
  MARTIN
  WANGJING
  /*--------3. 找出所有有傭金的員工,列出姓名、工資、傭金,顯示結果按工資從小到大,
  傭金從大到小。----------*/
  SQL> SELECT ENAME,SAL + COMM AS WAGE,COMM
  2? FROM SCOTT.EMP
  3? ORDER BY WAGE,COMM DESC;
  ENAME??????????? WAGE????? COMM
  ---------- ---------- ---------
  TURNER?????????? 1500????? 0.00
  WARD???????????? 1750??? 500.00
  ALLEN??????????? 1900??? 300.00
  MARTIN?????????? 2650?? 1400.00
  EricHu?????????? 5514???? 14.00
  WANGJING???????? 5514???? 14.00
  huyong?????????? 5514???? 14.00
  SMITH
  JONES
  JAMES
  MILLER
  FORD
  ADAMS
  BLAKE
  CLARK
  SCOTT
  KING
  17 rows selected
  -------4. 列出部門編號為20的所有職位。----------
  SQL> SELECT DISTINCT JOB FROM EMP WHERE DEPTNO = 20;
  JOB
  ---------
  ANALYST
  CLERK
  MANAGER
  -------5. 列出不屬于SALES 的部門。----------
  SQL> SELECT DISTINCT * FROM SCOTT.DEPT WHERE DNAME <> 'SALES';
  DEPTNO DNAME????????? LOC
  ------ -------------- -------------
  10 ACCOUNTING???? NEW YORK
  20 RESEARCH?????? DALLAS
  40 OPERATIONS???? BOSTON
  50 50abc????????? 50def
  60 Developer????? HaiKou
  110 信息科???????? 海口
  6 rows selected
  --或者:
  SQL> SELECT DISTINCT * FROM SCOTT.DEPT WHERE DNAME != 'SALES';
  SQL> SELECT DISTINCT * FROM SCOTT.DEPT WHERE DNAME NOT IN('SALES');
  SQL> SELECT DISTINCT * FROM SCOTT.DEPT WHERE DNAME NOT LIKE 'SALES';
  ---6. 顯示工資不在1000 到1500 之間的員工信息:名字、工資,按工資從大到小排序。---------
  SQL> SELECT ENAME,SAL + COMM AS WAGE FROM SCOTT.EMP
  2? WHERE SAL + COMM NOT BETWEEN 1000 AND 1500
  3? ORDER BY WAGE DESC;
  ENAME??????????? WAGE
  ---------- ----------
  EricHu?????????? 5514
  huyong?????????? 5514
  WANGJING???????? 5514
  MARTIN?????????? 2650
  ALLEN??????????? 1900
  WARD???????????? 1750
  6 rows selected
  --或者
  SQL> SELECT ENAME,SAL + COMM AS WAGE FROM SCOTT.EMP
  2? WHERE SAL + COMM < 1000 OR SAL + COMM > 1500
  3? ORDER BY WAGE DESC;
  ENAME??????????? WAGE
  ---------- ----------
  EricHu?????????? 5514
  huyong?????????? 5514
  WANGJING???????? 5514
  MARTIN?????????? 2650
  ALLEN??????????? 1900
  WARD???????????? 1750
  6 rows selected
  /*----- 7. 顯示職位為MANAGER 和SALESMAN,年薪在15000 和20000 之間的員工的信息:名字、職位、年薪。----------*/
  SQL> SELECT ENAME 姓名,JOB 職位,(SAL + COMM) * 12 AS 年薪
  2? FROM SCOTT.EMP
  3? WHERE (SAL + COMM) * 12 BETWEEN 15000 AND 20000
  4? AND JOB IN('MANAGER','SALESMAN');
  姓名?????? 職位????????????? 年薪
  ---------- --------- ----------
  TURNER???? SALESMAN?????? 18000
  /*----- 8. 說明以下兩條SQL語句的輸出結果:
  SELECT EMPNO,COMM FROM EMP WHERE COMM IS NULL;
  SELECT EMPNO,COMM FROM EMP WHERE COMM = NULL;
  ----------*/
  SQL> SELECT EMPNO,COMM FROM EMP WHERE COMM IS NULL;
  EMPNO????? COMM
  ----- ---------
  7369
  7566
  7698
  7782
  7788
  7839
  7876
  7900
  7902
  7934
  10 rows selected
  ---------------------------------------------------------------
  SQL> SELECT EMPNO,COMM FROM EMP WHERE COMM = NULL;
  EMPNO????? COMM
  ----- ---------
  --說明:IS NULL是判斷某個字段是否為空,為空并不等價于為空字符串或為數字0;
  --而 =NULL 是判斷某個值是否等于 NULL,NULL = NULL和NULL <> NULL都為 FALSE。
  /*-----9. 讓SELECT 語句的輸出結果為
  SELECT * FROM SALGRADE;
  SELECT * FROM BONUS;
  SELECT * FROM EMP;
  SELECT * FROM DEPT;
  ……
  列出當前用戶有多少張數據表,結果集中存在多少條記錄。
  ----------*/
  SQL> SELECT 'SELECT * FROM '||TABLE_NAME||';' FROM USER_TABLES;
  'SELECT*FROM'||TABLE_NAME||';'
  ---------------------------------------------
  SELECT * FROM BONUS;
  SELECT * FROM EMP;
  SELECT * FROM DEPT;
  --......等等,在此不列出。
  ---10. 語句SELECT ENAME,SAL FROM EMP WHERE SAL > '1500'是否抱錯?---------
  SQL> SELECT ENAME,SAL FROM EMP WHERE SAL > '1500';
  ENAME??????????? SAL
  ---------- ---------
  ALLEN??????? 1600.00
  JONES??????? 2975.00
  BLAKE??????? 2850.00
  CLARK??????? 2450.00
  SCOTT??????? 4000.00
  KING???????? 5000.00
  FORD???????? 3000.00
  EricHu?????? 5500.00
  huyong?????? 5500.00
  WANGJING???? 5500.00
  10 rows selected
  SQL> SELECT ENAME,SAL FROM EMP WHERE SAL > 1500;
  ENAME??????????? SAL
  ---------- ---------
  ALLEN??????? 1600.00
  JONES??????? 2975.00
  BLAKE??????? 2850.00
  CLARK??????? 2450.00
  SCOTT??????? 4000.00
  KING???????? 5000.00
  FORD???????? 3000.00
  EricHu?????? 5500.00
  huyong?????? 5500.00
  WANGJING???? 5500.00
  10 rows selected
  --說明不會抱錯,這兒存在隱式數據類型的。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的ORACLE SQL:经典查询练手第二篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲日本久久久 | 波多野结衣一区二区三区高清 | 国产精品久久亚洲 | 国产精品无码中文 | 国产成人一区二区三区视频 | 自拍超碰 | 欧美精品在线观看一区二区 | 祥仔视觉av | 日韩av免费一区 | 国产精品一区二区人人爽 | 精品人妻二区中文字幕 | 九九综合久久 | 欧美群妇大交群 | 成人手机在线免费视频 | 国产不卡一区 | 久久久久久免费精品 | 性高潮视频在线观看 | www激情com| 婷婷激情视频 | 秋霞午夜鲁丝一区二区老狼 | 国产高清不卡一区 | 国产成人精品一二三区 | 能免费看av的网站 | 欧美日韩精品一区二区三区四区 | 日韩的一区二区 | 亚洲精品久久久久久久蜜桃 | 亚洲综人网 | 欧美色成人 | 91久久久久久久久久久久久 | 亚洲一区中文字幕永久在线 | 日日夜夜天天操 | 午夜精品久久久久久久久久久久久 | 超碰美女 | 狠狠欧美| 狼人综合伊人 | 国产乱强伦一区二区三区 | 在线免费观看高清视频 | 青青国产在线观看 | 亚洲天堂男人的天堂 | 长腿校花无力呻吟娇喘的视频 | 婷婷伊人网| 亚洲三级欧美 | 国产一级片免费播放 | 欧美一二三 | 狠狠干综合网 | 亚洲免费天堂 | 少妇人妻好深好紧精品无码 | 羞羞涩涩视频 | 久久久久久欧美精品se一二三四 | 国产精品111| 国产一区久久久 | 黄网在线免费 | 免费看美女被靠到爽的视频 | 午夜网页 | 欧美巨大另类极品videosbest | 男男gay做受xx | 永久视频在线 | 三级欧美韩日大片在线看 | 欧美又大又硬又粗bbbbb | 人人做| 一区二区日韩 | 99小视频 | 古代玷污糟蹋np高辣h文 | 国产精品自在线 | 欧日韩一区二区三区 | 国产精品999. | 天天爽夜夜操 | 久久机热 | 久久久久国产视频 | 日本欧美黄色 | 国产专区在线 | 爱就操| jizz日本18| 欧美成人精品一区二区三区 | 在线观看三区 | 欧美一级做a爰片免费视频 成人激情在线观看 | 日本在线高清 | 夫の上司に犯波多野结衣853 | 手机av免费| 国产又爽又黄的激情精品视频 | 亚洲人成人一区二区在线观看 | 伊人手机视频 | 国产精品第二十页 | 91香蕉视频官网 | 9999热视频| 免费在线观看av片 | 亚洲视频大全 | 青青草成人免费在线视频 | 高清一区二区视频 | 精品动漫一区二区三区 | 久久9久久| www欧美com| 久久中文免费视频 | 色黄视频在线观看 | 青青在线 | 97在线免费视频 | 日韩精品一区二区三区四区 | 国产乱色精品成人免费视频 | 亚洲成人精品视频 |