1. 程式人生 > >Oracle之SELECT語句

Oracle之SELECT語句

1.SELECT語句

select * from t_c11_dxmb;

(1)SELECT關鍵字後面需要跟要查詢的列名,如果要查詢該表中的所有列,可以使用*來代替所有的列名,然後跟著FROM關鍵字,FROM關鍵字後面緊跟著要查詢欄位所在的表的表名,最後用分號;來結束該條SQL語句。
(2)資料庫返回的所有行叫做結果集result set
(3)oracle資料庫將列名全部轉化為大寫形式
(4)字元和日期列都是左對齊
(5)數字列預設右對齊
(6)預設情況下,Oracle資料庫以DD-MON-YY的形式顯示日期,DD是日,MON是月的前三個大寫字母,YY是年份的最後兩位,實際資料庫會儲存年份的4位數字,只是預設的顯示最後兩位。
示例如下:
這裡寫圖片描述


2.where 子句
在SELECT後面可以加WHERE子句,用來限定查詢的結果集
比如我要查詢姓名為xs的學生:

select * from t_c11_zyryda where xm='xs'

3.行識別符號
在ORACLE中每一行都有一個唯一的行識別符號,叫做rowid,ORACLE資料庫內部使用rowid來儲存行的物理位置,rowid是一個18位的數字,採用了base-64編碼。

select rowid from t_c11_zyryda where xm='xs'

查詢的是姓名為xs的學生這行的rowid:
這裡寫圖片描述
4.DESCRIBE命令
該命令可以用來檢視資料表的結構
如下圖所示:
這裡寫圖片描述


其中也可以使用DESC命令,可以達到同樣的效果,如下圖所示:
這裡寫圖片描述
所以,如果要檢視某張表的表結構,可以在comman 命令裡面輸入DESC或者DESCRIBE命令 ,後面加上表名,就可以檢視該表的結構。
5.行號
上面提到了行識別符號,下面說行號,在ORACLE資料庫中,每條記錄都是有一個行號ROWNUM的,它返回每一行在結果集中的行號,查詢返回第一行的行號是1,第二行是2,剩下的以此類推。
效果如下圖:
這裡寫圖片描述
6.算術運算
在SQL語句中也是可以進行算術運算的,加減乘除,算術表示式由兩個運算元和一個操作符組成(+.-,*,/)
比如:這裡寫圖片描述
7.日期運算
可以對日期進行加減法,數字表示加上或者減去的天數,比如:
8.dual表
有時候我們會在實踐或者書上看到select sysdate from dual;但是dual表示什麼意思?可能有人就會使用,但是不知道原因。
(1)dual表經常與返回值的函式和表示式連用,不需要在查詢中引用基礎表,但是如果某個表示式中引用了某個基礎表中的列,此時就不可以再使用dual表
(2)dual表的結構
這裡寫圖片描述

可以從截圖中看出來,dual表只有一列,名字為DUMMY,型別為VARCHAR2,可以為NULL
(3)dual表的內容
這裡寫圖片描述
從截圖可以看出DUAL表中只有一個數據,DUMMY列包含了一個字元X
9.列運算
運算元可以是字面數字,可以是日期,也可以是表中的列,可以對錶中的列直接進行運算,比如:

 SELECT NAME,PRICE*2 FROM PRODUCT;

10.算術運算子的優先順序
(1)乘法和除法優先,然後是加減法,如果操作符的優先順序相同,那麼運算的順序從左到右
(2)可以使用括號來指定操作符的執行順序
11.使用列的別名
(1)從table中選擇一列時,ORACLE在輸出結果中使用該列列名的大寫形式作為列的標題。
這裡寫圖片描述
(2)如果需要在別名中使用空格並保持別名文字大小寫形式,就必須使用”“將別名文字括起來,比如:
這裡寫圖片描述
12.使用連線符||合併欄位
假設表結構是這樣設計的,每個學校對應一個學校編碼,一個學校編碼對應一個學校名字,如果我在一個單元格中要顯示出來學校編碼和學校名稱,此時應該如何達到這種效果?
可以採用||連線符,對於欄位進行拼接。效果如下:
這裡寫圖片描述
13.空值
(1)空值不是空的字串,是一種特殊存在的值,空值表示該列的值未知。
(2)當查詢一個包含空值的列的時候,看到的結果是該列中不包含任何內容。
(3)檢索的時候判斷是否為空可以使用IS NULL子句。

SELECT * FROM SCHOOL WHERE ADDRESS IS NULL;

14.DISTINCT關鍵字
如果查詢的結果顯示不需要有重複資料出現,可以使用DISTINCT關鍵字來去重,比如:

SELECT DISTINCT PRODUCT_NAME FROM PRODUCT;

相關推薦

OracleSELECT語句

1.SELECT語句 select * from t_c11_dxmb; (1)SELECT關鍵字後面需要跟要查詢的列名,如果要查詢該表中的所有列,可以使用*來代替所有的列名,然後跟著FROM關鍵字,FROM關鍵字後面緊跟著要查詢欄位所在的表的表名,最後用分

Oracle資料庫 —— SQLselect語句(2) where子句和資料排序

6 select語句 6.2 where子句(條件子句) 1、where的作用,是對錶中行資料進行限制,符合where條件資料就被選中,不符合where條件資料就被過濾掉。   select id,salary from s_emp;   select

MySQLSELECT 語句詳解

限制 right ont 定義 過程 lar load avg sel 本文參考實驗樓的SELECT 語句詳解結合自己操作部分而寫成。 註意:大多數系統中,SQL語句都是不區分大小寫的,但是出於嚴謹和便於區分保留字和變量名,在書寫的時,保留字應大寫,而變量名應小寫。所謂的保

3.SQL優化SELECT語句

介紹 資料庫應用程式的核心邏輯是通過SQL語句執行的,無論是直接通過直譯器發出還是通過API在幕後提交。所以優化SQL語句是優化資料庫的重中之重。 1 優化SELECT語句 SELECT調優不光適用於以SELECT開始的SQL語句,也適用於DELETE語句中的CREATE TAB

SQL筆記SELECT語句

SELECT語句的完整語法: SELECT【ALL/DISTINCT】目標列表達式  [AS 別名],··· --ALL不去掉重複 DISTINCT去掉重複 FROM 表名或檢視名 或者(SELECT語句)AS 表名(屬性) [WHERE] 條件表示式 [GROUP BY] 列

Sql語句select 語句檢索 第二講

)檢索所有的列 SELECT * FROM 表名; 注意:檢索不需要的列通常會降低通常會降低檢索和應用程式的效能。–不建議。好處可以不指名列。 5.檢索不同的值,對列值相同的不顯示。Distinct關鍵字,distinct 必須直接放在列名的前面。 SETLCT DISTINCT 列名 FROM 表名; 注意

Oracle通過Select語句來插入資料

INSERT INTO t_admin_rms_yhygwgxb select sys_guid() AS XH,ID,'201202160931191071ae0a5d79421999c8009e731641e6' GWXH, 'SYSTEM' CJR,SYSDATE

Oracleselect語句執行過程

通過from子句中找到需要查詢的表 通過where子句進行非分組函式篩選判斷 通過group by子句完成分組操作 通過having字句完成組函式篩選判斷 通過select字句選擇顯示的列或表示式及組函式 通過order by字句進行排序操作

ABAPSELECT語句

ffffff 進行 fff agg -c 從數據 命令 val 兩個 SELECT SELECT語句從數據庫表中讀取必要的數據。 SELECT語句分為兩個部分。一部分為<lines>,用於指定查詢數據的件數,當查詢一件時用SINGLE語句。另一部分是&l

Oracle使用遊標更新資料 Oracle遊標select for update和where current of 語句

Oracle使用遊標更新資料 2016年11月20日 13:15:49 hzwy23 閱讀數:5313 友情推廣 ###使用遊標修改資料 ####定義一個遊標,遊標名稱為 mycursor #####更新scott使用者中emp表中empno

oracle 學習:for迴圈中包涵select語句

      oracle中的for迴圈用法比較簡單,但是在一次用到包涵select語句的for迴圈時,還是發現了一些自己以前沒有注意的東西。       我的程式碼如下: declare val1 date;val2 date;begin   for i in (select

Oracle數據庫select語句

bstr rim 否則 hose ace case ast data || select * from EMp--all data in EMP table select * from EMP where ename in(‘SMITH‘)--the data where

Oracle數據庫--基本的select語句

-h log ble distinct img cat http 重復 hang 1. 基本select語句 1)查看當前用戶 show user USER 為 "SCOTT" 2)查詢當前用戶下的表 SQL> select * from t

bash腳本case語句應用,while、until和select循環應用及其示例

bash腳本bash腳本編程: case選擇分支結構: case: case 詞 in [模式 [| 模式]...) 命令 ;;]... esac 在腳本中使用case的結構: case ${VAR_NAME} in PATTERN1) COMMAND ... ;; PATTE

Mysql DBA 高級運維學習筆記-DQL語句select知識講解

mar 指定 dba column exist 官方 his 查看表 表達式 9.9.8 查詢數據 9.9.8.1 查詢表的所有數據行 (1)命令語法:select<字段1,字段2,…>from<表名>where<表達式> (2)列

shell編程if語法、case語法、while語句、until語句、for語句select語句

指令 AD lse while 循環 語句 while else 表達 select 主要介紹shell基本語句的語法 if語句語法1 單分支結構 (如果,那麽)if <條件測試> ;then 指令;fi 或者如下:if <條件測試>? then?

mysql資料型別和select語句(group by、 limit)

mysql之資料型別的理解 mysql資料型別之整形 mysql資料型別之浮點型 mysql資料型別之日期時間型 mysql資料型別之字元型 刪除記錄(單表刪除) delete from 表單 where id=5 select

oracle菜鳥學習 select case when的使用

com 結束 bstr .com 第一個 rom The 表格 num [toc] oracle菜鳥學習之 select case when的使用 格式語法 case when 條件1 then action1 when 條件2 then action2

oracle中,將兩上select語句的結果作為一個整體顯示出來

1、union 對兩個結果集進行並集操作,不包括重複行,同時進行預設規則的排序。 2、union all 對兩個結果集進行並操作,包括重複行,不進行排序。 3、intersect 對兩個結果集進行交集操作,不包括重複行,同是進行預設規則的排序。 4、minus 對兩個結果

Oracle OCP 官方PPT學習日誌 使用 SQL SELECT 語句檢索資料 01

連線運算子,|| 注:也可以將日期表示式連線到其他表示式或列。 文字字串 SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees; &nbs