方法:1、用“SELECT 列名 FROM 表名;”語句可查詢單個列的數據;2、用“SELECT 列名1,列名2… FROM 表名;”語句可查詢多個列的數據;3、用“SELECT * FROM 表名;”語句可查詢所有列的數據。
本教程操作環境:Windows7系統、oracle 11g版、Dell G3電腦。
在Oracle中,表是由列和行組成。 例如,示例數據庫中的customers表具有以下列:customer_id,name,address,website和credit_limit。customers表中這些列中也有對應的數據。
要從表的一個或多個列(column_1,column_2,…,column_n)中檢索數據,請使用以下語法的SELECT語句:
SELECT ??column_1,? ??column_2,? ??... FROM ??table_name;
在這個SELECT語句中:
- 首先,需要指定要查詢數據的表名。
- 其次,指定想要返回數據的列。 如果需要返回多個列,則需要用逗號(,)將這些列分隔。
請注意,SELECT語句非常復雜,由許多子句組成,如ORDER BY,GROUP BY,HAVING,JOIN。 為了簡單起見,在本教程中,我們只關注SELECT和FROM子句的用法。
Oracle SELECT示例
讓我們舉一些使用Oracle SELECT語句的例子來了解它是如何工作的。
1. 查詢單個列的數據
要從客戶(customers)表中獲取客戶名稱(name)列,請使用以下語句:
SELECT ??name FROM ??customers;
執行上面語句,返回部分結果如下 –
NAME ------------------------------------------------------------------------ Aetna AIG Intel Pfizer FedEx New?York?Life?Insurance Ingram?Micro American?Airlines?Group Johnson?Controls Goldman?Sachs?Group Oracle 已選擇319行。
2. 查詢多個列的數據
要從多個列查詢數據,請指定一個以逗號分隔的列名稱列表。
以下示例顯示如何從客戶(customers)表的customer_id,name和credit_limit列中查詢數據。
SELECT ????customer_id, ????name, ????credit_limit FROM ????customers;
執行上面示例代碼,得到以結果?
3. 查詢表中所有列的數據
以下示例將檢索customers表的所有列中的數據,列出所有列的名稱,如下所示:
SELECT ????customer_id, ????name, ????address, ????website, ????credit_limit FROM ????customers;
執行上面示例代碼,得到以下結果 –
為了方便起見,查看所有列可以使用簡寫星號(*)來指示Oracle從表中返回所有列的數據,如下所示:
SELECT ????* FROM ????customers;
執行上面示例代碼,得到以下結果?
請注意,只能使用星號(*)進行測試。 在實踐中,即使想要從表的所有列中檢索數據,也應該明確指定要從中查詢數據的列。
這是因為業務變化,表格未來可能會有更多或更少的列。 如果在應用程序代碼中使用星號(*),并假定該表有一組固定的列,但應用程序可能不處理其他不相關的列或訪問已刪除的列。
推薦教程:《Oracle教程》