Oracle Select语句
在本教程中,将学习如何使用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示例
让我们举一些使用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 SELECT语句从表中检索一列或多列的数据。