在本教學中,將學習如何使用Oracle SELECT語句從單個表中查詢資料。
在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
語句的例子來了解它是如何工作的。
要從客戶(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行。
要從多個列查詢資料,請指定一個以逗號分隔的列名稱列表。
以下範例顯示如何從客戶(customers
)表的customer_id
,name
和credit_limit
列中查詢資料。
SELECT
customer_id,
name,
credit_limit
FROM
customers;
執行上面範例程式碼,得到以結果 -
以下範例將檢索customers
表的所有列中的資料,列出所有列的名稱,如下所示:
SELECT
customer_id,
name,
address,
website,
credit_limit
FROM
customers;
執行上面範例程式碼,得到以下結果 -
為了方便起見,檢視所有列可以使用簡寫星號(*
)來指示Oracle從表中返回所有列的資料,如下所示:
SELECT
*
FROM
customers;
執行上面範例程式碼,得到以下結果 -
請注意,只能使用星號(*
)進行測試。 在實踐中,即使想要從表的所有列中檢索資料,也應該明確指定要從中查詢資料的列。
這是因為業務變化,表格未來可能會有更多或更少的列。 如果在應用程式程式碼中使用星號(*
),並假定該表有一組固定的列,但應用程式可能不處理其他不相關的列或存取已刪除的列。
在本教學中,已經學習如何使用Oracle SELECT
語句從表中檢索一列或多列的資料。