当前位置: 首页 > 教程 > Oracle >

Oracle Select语句

精华
小牛编辑
175浏览
2023-03-14

在本教程中,将学习如何使用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 BY,GROUP BY,HAVING,JOIN。 为了简单起见,在本教程中,我们只关注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语句从表中检索一列或多列的数据。