要从一个表中检索数据就是查询这个表。SQL 的 SELECT 语句就是做这个用途的。该语句分为选择列表(列出要返回的字段)、表列表(列出从中检索数据的表)、以及可选的条件(声明任意限制)。比如,要检索表 weather 的所有行,键入:
SELECT * FROM weather;这里的 * 是"所有字段"的缩写。[1]因此同样的结果可以用下面的语句获得:
SELECT city, temp_lo, temp_hi, prcp, date FROM weather;而输出应该是:
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
San Francisco | 46 | 50 | 0.25 | 1994-11-27
San Francisco | 43 | 57 | 0 | 1994-11-29
Hayward | 37 | 54 | | 1994-11-29
(3 rows)你可以在选择列表中写任意表达式,而不仅仅是字段列表。比如,你可以:
SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;这样应该得到:
city | temp_avg | date
---------------+----------+------------
San Francisco | 48 | 1994-11-27
San Francisco | 50 | 1994-11-29
Hayward | 45 | 1994-11-29
(3 rows)请注意这里的 AS 子句是如何给输出字段重新命名的。AS 子句是可选的。
一个查询可以使用 WHERE 子句进行"修饰",声明需要哪些行。WHERE 子句包含一个布尔表达式,只有那些布尔表达式为真的行才会被返回。允许你在条件中使用常用的布尔操作符(AND, OR, NOT)。比如,下面的查询检索旧金山的下雨天的天气:
SELECT * FROM weather
WHERE city = 'San Francisco' AND prcp > 0.0;结果:
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
San Francisco | 46 | 50 | 0.25 | 1994-11-27
(1 row)你可以要求返回的查询是排好序的:
SELECT * FROM weather
ORDER BY city; city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
Hayward | 37 | 54 | | 1994-11-29
San Francisco | 43 | 57 | 0 | 1994-11-29
San Francisco | 46 | 50 | 0.25 | 1994-11-27在这个例子里,排序的顺序并非绝对清晰的,因此你可能看到 San Francisco 行随机的排序。但是如果你使用下面的语句,那么就总是会得到上面的结果
SELECT * FROM weather
ORDER BY city, temp_lo;你可以要求查询的结果按照某种顺序排序,并且消除重复行的输出:
SELECT DISTINCT city
FROM weather; city
---------------
Hayward
San Francisco
(2 rows)再次声明,结果行的顺序可能是随机的。你可以组合使用 DISTINCT 和 ORDER BY 来获取一致的结果:[2]
SELECT DISTINCT city
FROM weather
ORDER BY city;注意
[1] 虽然 SELECT * 可以把查询的结果翻出来,但我们普遍认为在生产代码中这是很糟糕的风格,因为给表增加一个字段就改变了结果。
[2] 在一些数据库系统里,包括老版本的 PostgreSQL ,DISTINCT 自动对行进行排序,因此 ORDER BY 是多余的。但是这一点并不是 SQL 标准的要求,并且目前的 PostgreSQL 并不保证 DISTINCT 导致数据行被排序。
分享到:
相关推荐
#### 一、AS的基本用法 1. **为列命名**: - 例如,在查询语句中使用`AS`来重命名查询结果中的列名。 ```sql SELECT username AS 用户名, password AS 密码 FROM users; ``` - 在这个例子中,`username`字段被...
"SQL中的AS用法和经典SQL语句整理" SQL语言中,AS关键字用于为表或列指定别名,以便于查询和简化语句。在本文中,我们将总结一些常用的SQL语句,并解释AS用法的细节。 一、DELETE语句 DELETE语句用于删除表中的...
### SQL常用命令使用方法 #### 一、数据记录筛选(SELECT) 在数据库操作中,`SELECT`命令是最常用的查询语句之一,它用于从数据库表中检索数据。 1. **基本查询**: - `SELECT * FROM 表名 WHERE 条件 ORDER BY...
### SQL Server 2005 基本方法...以上介绍了 SQL Server 2005 中的基本方法与常用语句,涵盖了数据库管理与数据操作的核心技能。通过熟练掌握这些知识,可以有效地管理和维护数据库系统,提高数据处理的效率与准确性。
SQL的基本用法包括数据查询、数据插入、数据更新和数据删除,同时,不同的数据库系统如Oracle和SQL Server等会有其特定的扩展和优化。 1. 数据查询:SQL中最基本的操作就是查询数据,这主要通过`SELECT`语句实现。...
根据给定的信息,我们可以总结出一系列关于SQL的基本用法及相关知识点。下面将详细介绍数据库操作语言(包括DDL、DML和DCL),并提供具体的示例来帮助理解。 ### 数据库定义语言 (DDL) #### 创建数据库 ```sql ...
### SQL中的Case语句深入解析 在SQL查询语言中,`Case`语句是一个非常强大的功能,用于在查询中执行条件判断,它可以根据不同的条件返回不同的结果,这使得SQL能够处理更加复杂的数据筛选和转换需求。`Case`语句有...
本文将深入探讨`AS`在SQL Server中的基本用法。 首先,`AS`关键字常用于为表名和列名指定别名。这在处理复杂查询时尤其有用,因为它可以使查询结果更易读,特别是当表或列名较长或者包含特殊字符时。例如,你可以...
在SQL语言中,掌握经典用法对于数据库管理至关重要。以下是一些主要的SQL知识点: 1. **创建数据库**:使用`CREATE DATABASE`语句可以创建新的数据库,例如`CREATE DATABASE database-name`,其中`database-name`是...
在IT行业中,数据库是存储和管理数据的核心工具。SQL(Structured Query Language)和AS数据库连接类是两...在实际开发中,了解并掌握这两种数据库连接类的特性和使用方法,将有助于我们更好地设计和实施数据存储方案。
### SQL中的Case语法使用详解 在SQL查询语言中,`CASE`语句是一个非常重要的功能,它可以用来构建复杂的条件逻辑,实现对数据的灵活处理。...希望本文能够帮助大家更好地理解和掌握`CASE`语句的使用方法。
以上是文档“SQL语句的基本用法案例”中涵盖的主要知识点,这些内容不仅适用于初学者,对于希望进一步提高SQL技能的开发者来说也非常有用。通过实践这些例子,你可以更好地理解和掌握SQL语言的各种功能。
1. **在SELECT语句中的基本用法**: CASE表达式通常在SELECT语句中用来根据特定条件为数据列创建新的计算字段。例如,你可以根据书籍的价格范围给价格打标签。如以下示例所示,当价格为空时,标签为"Unpriced";...
一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ...
标题 "php mssql扩展SQL查询中文字段名解决方法" 描述了一个常见的问题,即使用PHP的mssql扩展处理SQL Server数据库中的中文字段名时遇到的查询错误。问题的关键在于,虽然SQL语句在SQL Server中可以正常运行,但在...