SELECT语句使用方法
在Oracle中,表是由列和行组成。 例如,示例数据库中的customers表具有以下列:customer_id,name,address,website和credit_limit。customers表中这些列中也有对应的数据。
要从表的一个或多个列(column_1,column_2,…,column_n)中检索数据,请使用以下语法的SELECT语句:
SELECTcolumn_1, column_2, ...
FROMtable_name;
在这个SELECT语句中:
● 首先,需要指定要查询数据的表名。
● 其次,指定想要返回数据的列。 如果需要返回多个列,则需要用逗号(,)将这些列分隔。
注意,SELECT语句非常复杂,由许多子句组成,如ORDER BY,GROUP BY,HAVING,JOIN。 为了简单起见,在本教程中,我们只关注SELECT和FROM子句的用法。 | |
---|---|
Oracle SELECT示例
示例代码。
1. 查询单个列的数据
要从客户(customers)表中获取客户名称(name)列,请使用以下语句:
SELECTname
FROMcustomers;
执行上面语句,返回部分结果如下:
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列中查询数据。
SELECTcustomer_id,name,credit_limit
FROMcustomers;
执行上面示例代码,得到以结果:
3. 查询表中所有列的数据
以下示例将检索customers表的所有列中的数据,列出所有列的名称,如下所示:
SELECTcustomer_id,name,address,website,credit_limit
FROMcustomers;
执行上面示例代码,得到以下结果:
为了方便起见,查看所有列可以使用简写星号(*)来指示Oracle从表中返回所有列的数据,如下所示:
SELECT*
FROMcustomers;
执行上面示例代码,得到以下结果:
请注意,应尽量避免使用星号(*)进行测试。 在实践中,即使想要从表的所有列中检索数据,也应该明确指定要从中查询数据的列。
这是因为业务变化,表格未来可能会有更多或更少的列。 如果在应用程序代码中使用星号(*),并假定该表有一组固定的列,但应用程序可能不处理其他不相关的列或访问已删除的列。