SQL SELECT 语句2025年1月10日 | 阅读 8 分钟 在 SQL 中,SELECT 语句用于从数据库的表中查询或检索数据。返回的数据存储在表中,结果表称为结果集。此语句是一个非常强大的工具,其语法由于可以组合表、列、函数和运算符的多种方式而复杂,可形成合法的语句。 语法 在上述语法中,<select_list> 是 <table_list> 中列出的表中的列和表达式的集合。<table_list> 是从中检索行的表的列表。<condition> 是用于限制获取的行的有效 Oracle SQL 条件,而 <column1> ,<column2>, …… <columnN> 是 <table_list> 中包含的列。方括号中的组件是可选的。 <strong>GROUP BY 子句</strong> 用于基于指定列中存在的唯一值对行进行分组。HAVING 子句与 GROUP BY 子句结合使用,用于进一步限制检索到的行。ORDER BY 子句也是可选的,用于对查询返回的行进行排序。 以下是如何在表中 Ya 一个 SELECT 语句的示例。 SELECT 语句用于检索表中的所有列:要检索表中的所有列,我们在 SELECT 语句中使用星号 (*) 通配符。当我们不知道列名或不想键入所有列名时,最常用它。 例如:使用以下语法选择表中所有可用的字段 让我们以一个 Employee 表为例,使用 select 语句获取记录。 EMPLOYEE 关系
输出
SELECT 语句用于检索表中的选定列:如果我们想从给定表中检索选定的列,则在 select 语句中指定 <table_list> 中的列名。在 select 语句中指定列名的顺序不一定与其在表中出现的顺序相同。 例如:使用以下语法选择表中可用的选定字段 示例 1:让我们以一个 Employee 表为例,获取所有员工的 EMP_ID 记录。 输出
示例 2:要获取 EMP_NAME 和 SALARY,请使用以下查询
SELECT 语句用于从表中检索 DISTINCT 行:每当我们使用 SELECt 语句检索列时,可能会产生重复的行。要仅返回所选重复行集的一个副本,我们在 SELECT 语句中 along with DISTINCT 或 UNIQUE 关键字。 例如:使用以下语法从表中选择 DISTINCT 行。 示例 1:让我们以一个 Employee 表为例,从表中获取记录。 输出
SELECT 语句用于使用 WHERE 子句在表中限制行:如果表包含许多行,通常不想检索表中的所有行。SQL 提供了一个 WHERE 子句,您可以在其中指定限制行的条件。WHERE 子句由一个或多个条件组成,这些条件必须在行被查询检索之前得到满足。在这些条件中,可以使用各种运算符来比较值。 例如:使用以下语法从表中选择限制行 示例 1:让我们以以下示例检索 emp_id 为 1 的员工信息。 输出
这表明您可以在 WHERE 子句中指定列,即使它们未从表中选择。 如果您想指定多个条件,则可以通过使用逻辑运算符 AND 和 OR 来实现。 示例 2:让我们以以下示例检索 EMPLOYEE 表中的 EMP_ID EMP_NAME、CITY、SALARY,其中 SALARY 大于 15000 且 CITY 等于“Lucknow”。 输出
解释:执行上述查询后,它包含满足“WHERE”子句中两个条件的行。 示例 3:让我们以以下示例检索 EMPLOYEE 表中的 EMP_ID、CITY、SALARY,其中 SALARY 大于 15000 或 CITY 等于“Lucknow”。 输出
解释:执行上述查询后,它包含满足“WHERE”子句中任一条件的 EMPLOYEE 关系行。 使用 SELECT 语句时,必须考虑以下几点。
在 SELECT 语句中使用表达式:<select_list> 可以由多个列组成。除了多个列之外,您还可以在 <select_list> 中指定表达式,其中可能包含常量、函数等。 示例 1:让我们以以下示例检索 employee 表中的员工姓名、总工资(SAL+COMM)信息。 输出
解释:执行上述查询后,SQL 将 <select_list> 中的每个元素视为一个单独的列,即使该表达式引用了多个列。 例如:“SAL+COMM”将被视为一列。引用带别名的列:当您在 <select_list> 中指定复杂表达式时,可以通过为其分配别名来记录该表达式代表的内容。如有必要,您还可以为表列指定别名。 示例 1:让我们以以下示例检索 employee 表中的员工姓名、总工资(SAL+COMM)信息。 输出
解释:执行上述查询后,“AS”关键字是可选的。 默认情况下,SELECT 子句中的列名在查询结果中以大写形式列出,作为列的标题。在列别名周围放置双引号 ("") 可确保列别名的大小写敏感性,并允许您在别名名称中指定空格和特殊字符。别名有助于为复杂表达式提供简短名称。 示例 输出
解释:在执行上述查询时。别名提供了两个好处:
在 SELECT 语句中使用连接运算符:连接运算符用于连接两个或多个字符串。它是 SQL 中重要的字符串运算符之一。它用于将字符串嵌入查询返回的值中,组合字符串并创建可分配给列的新值。 示例 输出
解释:执行上述查询后,连接运算符将字符串 'MY NAME IS' 与 EMP_NAME 列连接起来。 将 SELECT 语句与 ORDER BY 子句结合使用:ORDER BY 子句用于按升序或降序排列数据。默认情况下,数据按升序排序。通过在列名后使用 DESC 关键字,我们可以按降序排列数据。 例如:使用以下语法对表中的字段进行排序 语法 示例 1:让我们以以下示例检索 Employee 表中的员工姓名、城市、工资信息,并按升序显示员工姓名。 输出
解释:执行上述查询时,在为 EMP_NAME 列指定 ORDER BY 子句时,我们没有指定升序或降序,但顺序仍为升序。这表明默认顺序是升序。 示例 2:让我们以以下示例检索 Employee 表中的员工姓名、城市、工资信息,并按降序显示员工姓名。 输出
解释:执行上述查询后,检索到的记录将按 EMP_NAME 降序排序。 下一个主题DBMS SQL Insert |
我们请求您订阅我们的新闻通讯以获取最新更新。