您好,登錄后才能下訂單哦!
本章內容包括:
使用SELECT語句從一個或多個數據庫表中檢索信息
使用算術表達式進行計算
使用WHERE子句對行進行過濾
對從表中檢索到的行進行排序
一、單表查詢數據
SELECT語句用于從數據庫表中檢索信息。
select * from customers; //選擇一個表中所有的列
select c.name from cutomers c; //選擇表中的某一列
使用WHERE子句過濾行
在查詢中可以使用WHERE子句來指定想要檢索的行。
select * from customers where customer_id = 2;
理解行標識符
oracle數據庫中的每一行都有一個唯一的行標識符ROWID。Oracle數據庫內部使用行標識符來存儲行的物理位置。rowid通常被稱為偽列。不會出現在表結構中
理解行號
oracle的另一個偽列是ROWNUM,它返回每一行在結果集中的行號
SQL> select rowid,rownum,f.serial_no,f.code_id from fault_barrier_base_code f where rownum < 20; ROWID ROWNUM SERIAL_NO CODE_ID -------------------------------------------------------------------------------- ---------- --------- ---------------------------------------- AAGlTlAAOAAJEhUAAA 1 5 YJ_SOAP AAGlTlAAOAAJEhUAAB 2 6 SC_SOAP AAGlTlAAOAAJEhUAAC 3 9 88 AAGlTlAAOAAJEhUAAD 4 22 12 AAGlTlAAOAAJEhUAAE 5 23 52 AAGlTlAAOAAJEhUAAF 6 24 82 AAGlTlAAOAAJEhUAAG 7 25 94 AAGlTlAAOAAJEhUAAH 8 29 21 AAGlTlAAOAAJEhUAAI 9 30 REPLACE_NOCHECK_SECROSCODE AAGlTlAAOAAJEhVAAA 10 10 89 AAGlTlAAOAAJEhVAAB 11 13 RECORD_MONITOR_LOG AAGlTlAAOAAJEhVAAC 12 14 92 AAGlTlAAOAAJEhVAAD 13 15 DEFAULT_URL_FALG AAGlTlAAOAAJEhVAAE 14 32 98 AAGlTlAAOAAJEhVAAF 15 37 CHECK_DEFAULT_SECRESCODE_DESC AAGlTlAAOAAJEhVAAG 16 38 NOT_FAULT_BARRIER_ENABLE AAGlTlAAOAAJEhVAAH 17 39 NO_FAULT_BARRIER_CRON AAGlTlAAOAAJEhVAAI 18 40 GROUP_SPECIAL_MSISDN AAGlTlAAOAAJEhVAAJ 19 41 GROUP_SPECIAL_BIPCODE_ACTIVECODE 19 rows selected
執行算術運算
Oracle在SQL語句中使用算術表達式來進行算術運算,包括+、-、*、/
日期運算:在2016年6月6日上加上一天
SQL> select to_date(sysdate) + 7 as "one week later" from dual; one week later -------------- 2016/6/13 SQL> select to_date(sysdate) - 7 as "one week ago" from dual; one week ago ------------ 2016/5/30
算術運算中也支持表的列操作。
禁止顯示重復行 關鍵字DISTINCT
比較值,用 =、<>或!=、<、>、<=,>=,ANY(與任何值比較),ALL
使用SQL操作符,LIKE(模糊查詢),IN(范圍查詢),BETWEEN(范圍查詢),IS NULL,IS NAN(非數字),IS INFINITE
使用邏輯操作符 x AND y(當x和y都為true時,返回true),x OR y(當x和y中有一個為true,就返回true),NOT x(如果x為false,則返回true);
使用ORDER BY 子句對行進行排序
使用ORDER BY子句可以對查詢檢索出來的行進行排序。ORDER BY子句必須位于FROM或WHERE子句(如果提供了WHERE子句)之后。
二、執行兩個表的SELECT語句
連接可以用于連接任意多個表。連接數 = 查詢中使用的表的總數 - 1
select * from fault_barrier_code; select * from fault_barrier_sec_rspcode sec,fault_barrier_code fc where sec.bip_code = fc.bip_code and sec.act_code = fc.act_code and sec.plat_code = fc.plat_code;
3. 連接條件和連接類型
根據連接中使用的操作符的不同,連接條件(join condition)可以分為兩類:
等連接(equijion)在連接中使用操作符。
不等連接(non-equijoin)在連接中使用除等號之外的操作符如,<,>,BETWEEN
連接有3中類型
內連接(inner join)只有當連接中的列包含滿足連接條件的值時才會返回一行。
外連接(outer join)即使連接條件中的一列包含空值也會返回一行
自連接(self join)返回連接到同一張表中的行
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。