使用SQL SELECT語句檢索資料
一、官檔
Book → SQL Language Reference → 19 SQL Statements: SAVEPOINT to UPDATE → SELECT
二、基礎語法
-
SELECT {[distinct]列名,列名,…}|*
-
FROM 表名
-
[WHERE 條件]
- [GROUP BY 分組列名]
- [HAVING 聚合函式]
- [ORDER BY 排序列名 ASC|DESC]
三、符號
1、單引號('):在Oracle中,應該只使用單引號將文字和字元和日期括起來,不能使用引號(包括單雙引號)將數字括起來。2、雙引號("):在Oracle中,單雙引號含義不同。雙引號被用來將包含特定字元或者空格的列別名括起來。雙引號還被用來將文字放入日期格式。
3、撇號('):在Oracle中,撇號也可以寫成彼此相鄰的兩個單引號。為了在供應商名字中間查詢所有帶撇號的供應商名字,可以這樣編寫程式碼:
select * from l_suppliers where supplier_name like '%''%'
4、&符號:在Oracle中,&符號常用來指出一個變數。例如,&fox是一個變數,稍微有點不同的一種&& fox。每當&fox出現在Oracle指令碼中時,都會要求您為它提供一個值。而使用&&fox,您只需要在& &fox第一次出現時為它提供變數值。如果想將&符號作為普通的符號使用,則應該關閉這個特性。要想關閉這個特性,可以執行以下的命令: set define off ,這是一個SQLplus命令,不是一個SQL命令。SQLplus設定了SQL在Oracle中執行的環境。
5、雙豎線(||):Oracle使用雙豎線表示字串連線函式。
6、星號(*):select *意味著選擇所有的列,count(*)意味著計算所有的行,表示萬用字元時,表示0個或任意多個字元。
7、正斜槓(/):在Oracle中,用來終止SQL語句。更準確的說,是表示了“執行現在位於緩衝區的SQL程式碼”。正斜槓也用作分隔項。
8、不等於:有多種表達方式:!=、^=、<>、not xxx=yyy、not(xxx=yyy)
9、加減乘除:+ - * /
四、別名
-
SELECT EMPNO AS "員工編號", ENAME AS "員工名稱" FROM EMP;
-
- SELECT EMPNO 員工編號, ENAME 員工名稱 FROM EMP;
-
- SELECT EMPNO "員工編號", ENAME "員工名稱" FROM EMP;
五、去重
-
--員工分佈在哪些部門 ,列出部門ID
- SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES
六、DESCRIBE
-
DESC OWNER.TABLE_NAME;
-
-
SELECT COLUMN_NAME,
-
DECODE(NULLABLE, 'Y', ' ', 'NOT NULL') NULLABLE,
-
DECODE(DATA_TYPE,
-
'RAW', DATA_TYPE || '(' || DATA_LENGTH || ')',
-
'CHAR', DATA_TYPE || '(' || DATA_LENGTH || ')',
-
'VARCHAR', DATA_TYPE || '(' || DATA_LENGTH || ')',
-
'VARCHAR2', DATA_TYPE || '(' || DATA_LENGTH || ')',
-
'NUMBER', NVL2(DATA_PRECISION,
-
DECODE(DATA_SCALE,
-
0, DATA_TYPE || '(' || DATA_PRECISION || ')',
-
DATA_TYPE || '(' || DATA_PRECISION || ',' || DATA_SCALE || ')'),
-
DATA_TYPE),
-
DATA_TYPE) DATA_TYPE
-
FROM DBA_TAB_COLUMNS
-
WHERE OWNER = UPPER('&sch')
-
AND TABLE_NAME = UPPER('&tab')
- ORDER BY COLUMN_ID
七、查詢例子
-
--*:表示查詢所有列
-
select * from employees;
-
--查詢固定列
-
select DEPARTMENT_NAME, MANAGER_ID
-
from departments;
-
--*:在運算子裡表示乘以
-
select FIRST_NAME 名字,
-
SALARY * COMMISSION_PCT*12 年度獎金
-
from employees
-
where salary > 10000;
-
--||:拼接字串
-
--'':表示單引號,在字串裡顯示,用於區分'結束輸出
-
select last_name || ' ''s salary is : ' || salary aaa
-
from employees
-
where salary > 10000;
-
--多個單引號時使用q'[]',避免多次使用''
-
select last_name || q'[ 's sa'la'ry' is : ]' || salary aaa
-
from employees
- where salary > 10000;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24851054/viewspace-2145210/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle OCP(01):使用SQL SELECT語句檢索資料OracleSQL
- OCP課程3:SQL之使用SELECT語句檢索資料SQL
- SQL SELECT 語句SQL
- SQL update select語句SQL
- SQL語言基礎(SELECT語句)SQL
- 【SQL】14 UNION 操作符、SELECT INTO 語句、INSERT INTO SELECT 語句、CREATE DATABASE 語句、CREATE TABLE 語句SQLDatabase
- Sql Server系列:Select基本語句SQLServer
- Oracle SQL select練習語句OracleSQL
- 使用子查詢檢索資料
- OCP課程19:SQL之使用子查詢檢索資料SQL
- 【sql】編寫基本的SQL SELECT語句四SQL
- 【sql】編寫基本的SQL SELECT語句三SQL
- 【sql】編寫基本的SQL SELECT語句一SQL
- C#實現SQL全庫檢索資料C#SQL
- 檢查表空間使用率SQL語句SQL
- 資料庫巡檢常用的SQL語句資料庫SQL
- SQL 語句select top 變數問題SQL變數
- SQL語句中SELECT語句的執行順序SQL
- MySQL-檢索資料MySql
- 使用正規表示式檢驗sql語句(只支援select(不含函式,子查詢)) (轉)SQL函式
- 檢視低效的SQL語句SQL
- 使用sql語句查詢平均值,使用sql語句查詢資料總條數, not in 篩選語句的使用SQL
- oracle資料庫巡檢(一)基本sql語句Oracle資料庫SQL
- SQL Select語句邏輯執行順序SQL
- Oracle OCP(14):使用子查詢檢索資料Oracle
- Go select 語句Go
- MySQL 5.7 使用 SELECT ... INTO 語句匯出資料檔案MySql
- [MYSQL-4] 檢索資料MySql
- SQL語句資料SQL
- SQL Server中SELECT語句執行順序解析SQLServer
- sql 語句網路除錯和 sql 語句低層傳輸檢視SQL除錯
- SQL語句select隨機調取10行資料 Access/SQL Server/Mysql等資料庫隨機ServerMySql資料庫
- sql 中的with 語句使用SQL
- 資料庫學習(一)——select語句資料庫
- [MYSQL-5]排序檢索資料MySql排序
- 【資料庫】SQL語句資料庫SQL
- SQL語句執行進度檢查SQL
- 常用的檢查SQL Agent Job 語句SQL