溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用SQL SELECT語句檢索數(shù)據(jù)

發(fā)布時間:2020-08-07 23:16:03 來源:ITPUB博客 閱讀:135 作者:brj880719 欄目:關系型數(shù)據(jù)庫

一、官檔

Book → SQL Language Reference → 19 SQL Statements: SAVEPOINT to UPDATE → SELECT

二、基礎語法

  1.  SELECT {[distinct]列名,列名,…}|*
  2.    FROM 表名
  3.  [WHERE 條件]
  4.  [GROUP BY 分組列名] 
  5. [HAVING 聚合函數(shù)]
  6.  [ORDER BY 排序列名 ASC|DESC]

三、符號

1、單引號('):在Oracle中,應該只使用單引號將文本和字符和日期括起來,不能使用引號(包括單雙引號)將數(shù)字括起來。 

2、雙引號("):在Oracle中,單雙引號含義不同。雙引號被用來將包含特定字符或者空格的列別名括起來。雙引號還被用來將文本放入日期格式。

3、撇號('):在Oracle中,撇號也可以寫成彼此相鄰的兩個單引號。為了在供應商名字中間查找所有帶撇號的供應商名字,可以這樣編寫代碼: 
select * from l_suppliers where supplier_name like '%''%' 

4、&符號:在Oracle中,&符號常用來指出一個變量。例如,&fox是一個變量,稍微有點不同的一種&& fox。每當&fox出現(xiàn)在Oracle腳本中時,都會要求您為它提供一個值。而使用&&fox,您只需要在& &fox第一次出現(xiàn)時為它提供變量值。如果想將&符號作為普通的符號使用,則應該關閉這個特性。要想關閉這個特性,可以運行以下的命令: set define off ,這是一個SQLplus命令,不是一個SQL命令。SQLplus設置了SQL在Oracle中運行的環(huán)境。 

5、雙豎線(||):Oracle使用雙豎線表示字符串連接函數(shù)。 

6、星號(*):select *意味著選擇所有的列,count(*)意味著計算所有的行,表示通配符時,表示0個或任意多個字符。 

7、正斜杠(/):在Oracle中,用來終止SQL語句。更準確的說,是表示了“運行現(xiàn)在位于緩沖區(qū)的SQL代碼”。正斜杠也用作分隔項。 

8、不等于:有多種表達方式:!=、^=、<>、not xxx=yyy、not(xxx=yyy)

9、加減乘除:+ - * /

四、別名

  1. SELECT EMPNO AS "員工編號", ENAME AS "員工名稱" FROM EMP;

  2. SELECT EMPNO 員工編號, ENAME 員工名稱 FROM EMP;

  3. SELECT EMPNO "員工編號", ENAME "員工名稱" FROM EMP;

五、去重

  1. --員工分布在哪些部門 ,列出部門ID
  2. SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES

六、DESCRIBE

  1. DESC OWNER.TABLE_NAME;

  2. SELECT COLUMN_NAME,
  3.       DECODE(NULLABLE, 'Y', ' ', 'NOT NULL') NULLABLE,
  4.       DECODE(DATA_TYPE,
  5.               'RAW', DATA_TYPE || '(' || DATA_LENGTH || ')',
  6.               'CHAR', DATA_TYPE || '(' || DATA_LENGTH || ')',
  7.               'VARCHAR', DATA_TYPE || '(' || DATA_LENGTH || ')',
  8.               'VARCHAR2', DATA_TYPE || '(' || DATA_LENGTH || ')',
  9.               'NUMBER', NVL2(DATA_PRECISION,
  10.                             DECODE(DATA_SCALE,
  11.                                     0, DATA_TYPE || '(' || DATA_PRECISION || ')',
  12.                                     DATA_TYPE || '(' || DATA_PRECISION || ',' || DATA_SCALE || ')'),
  13.                             DATA_TYPE),
  14.               DATA_TYPE) DATA_TYPE
  15.   FROM DBA_TAB_COLUMNS
  16. WHERE OWNER = UPPER('&sch')
  17.   AND TABLE_NAME = UPPER('&tab')
  18. ORDER BY COLUMN_ID

七、查詢例子

  1. --*:表示查詢所有列
  2. select * from employees;
  3. --查詢固定列
  4. select DEPARTMENT_NAME, MANAGER_ID
  5. from departments;
  6. --*:在運算符里表示乘以
  7. select FIRST_NAME 名字,
  8. SALARY * COMMISSION_PCT*12 年度獎金
  9. from employees
  10. where salary > 10000;
  11. --||:拼接字符串
  12. --'':表示單引號,在字符串里顯示,用于區(qū)分'結束輸出
  13. select last_name || ' ''s salary is : ' || salary aaa
  14. from employees
  15. where salary > 10000;
  16. --多個單引號時使用q'[]',避免多次使用''
  17. select last_name || q'[ 's sa'la'ry' is : ]' || salary aaa
  18. from employees
  19. where salary > 10000;
向AI問一下細節(jié)

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

AI