方法: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
語句的例子來了解它是如何工作的。
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;
執行上面範例程式碼,得到以下結果
請注意,只能使用星號(*
)進行測試。 在實踐中,即使想要從表的所有列中檢索資料,也應該明確指定要從中查詢資料的列。
這是因為業務變化,表格未來可能會有更多或更少的列。 如果在應用程式程式碼中使用星號(*
),並假定該表有一組固定的列,但應用程式可能不處理其他不相關的列或存取已刪除的列。