Oracle Select語句


在本教學中,將學習如何使用Oracle SELECT語句從單個表中查詢資料。

在Oracle中,表是由列和行組成。 例如,範例資料庫中的customers表具有以下列:customer_idnameaddresswebsitecredit_limitcustomers表中這些列中也有對應的資料。

要從表的一個或多個列(column_1,column_2,...,column_n)中檢索資料,請使用以下語法的SELECT語句:

SELECT
  column_1, 
  column_2, 
  ...
FROM
  table_name;

在這個SELECT語句中:

  • 首先,需要指定要查詢資料的表名。
  • 其次,指定想要返回資料的列。 如果需要返回多個列,則需要用逗號()將這些列分隔。

請注意,SELECT語句非常複雜,由許多子句組成,如ORDER BYGROUP BYHAVINGJOIN。 為了簡單起見,在本教學中,我們只關注SELECTFROM子句的用法。

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_idnamecredit_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 SELECT語句從表中檢索一列或多列的資料。