SQL 必知必会
目标:对SQL必知必会不断精简,将其读薄
优先级4.0
这个作者很懒,什么都没留下…
展开
-
SQL必知必会总结11 使用子查询(在WHERE、SELECT中嵌套新的SQL语句)
11.1 子查询SELECT 语句是 SQL 的查询。我们迄今为止所看到的所有 SELECT语句都是简单查询,即从单个数据库表中检索数据的单条语句。查询(query)任何 SQL 语句都是查询。但此术语一般指 SELECT 语句。SQL 还允许创建子查询(subquery),即嵌套在其他查询中的查询。说明:MySQL 支持如果使用 MySQL,应该知道对子查询的支持是从 4.1 版本引入的。MySQL 的早期版本不支持子查询。11.2 利用子查询进行过滤订单存储在两个表中。每个订单包含订单编原创 2020-06-08 21:16:06 · 4431 阅读 · 2 评论 -
SQL必知必会总结10 分组数据
如何分组数据,以便汇总表内容的子集。这涉及两个新SELECT 语句子句:GROUP BY 子句和 HAVING 子句。10.1 数据分组使用 SQL 聚集函数可以汇总数据。这样,我们就能够对行进行计数,计算和与平均数,不检索所有数据就获得最大值和最小值。目前为止的所有计算都是在表的所有数据或匹配特定的 WHERE 子句的数据上进行的。比如下面的例子返回供应商 DLL01 提供的产品数目:SELECT COUNT(*) AS num_prods FROM Products WHERE vend_id原创 2020-06-03 21:36:57 · 1029 阅读 · 0 评论 -
SQL必知必会总结9 汇总数据(AVG、COUNT、MAX、MIN、SUM)
9.1 聚集函数我们经常需要汇总数据而不用把它们实际检索出来,为此 SQL 提供了专门的函数。见表 9-1。聚集函数(aggregate function)对某些行运行的函数,计算并返回一个值。9.1.1 AVG()函数AVG()通过对表中行数计数并计算其列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。SELECT AVG(prod_price) AS avg_price FROM Products;SELECT AVG(prod_pr原创 2020-06-02 10:26:08 · 818 阅读 · 0 评论 -
SQL必知必会总结8 使用函数处理数据
8.1 函数函数带来的问题与几乎所有 DBMS 都等同地支持 SQL 语句(如 SELECT)不同,每一个DBMS 都有特定的函数。为了说明可能存在的问题,表 8-1列出了 3 个常用的函数及其在各个 DBMS 中的语法:可以看到,与 SQL 语句不一样,SQL 函数不是可移植的。这意味着为特定 SQL 实现编写的代码在其他实现中可能不正常。可移植(portable)所编写的代码可以在多个系统上运行。为了代码的可移植,许多 SQL 程序员不赞成使用特定于实现的功能。虽然这样做很有好处,但有的时原创 2020-05-31 20:29:52 · 442 阅读 · 0 评论 -
SQL必知必会总结7 创建计算字段
什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。7.1 计算字段存储在数据库表中的数据一般不是应用程序所需要的格式,与前几课介绍的列不同,计算字段并不实际存在于数据库表中。计算字段是运行时在 SELECT 语句内创建的字段(field)基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常与计算字段一起使用。提示:客户端与服务器的格式在 SQL 语句内可完成的许多转换和格式化工作都可以直接在客户端应用程序内完成。但一般来说,在数据原创 2020-05-30 22:48:54 · 348 阅读 · 1 评论 -
SQL必知必会总结6 用通配符进行过滤
什么是通配符、如何使用通配符以及怎样使用 LIKE 操作符进行通配搜索,以便对数据进行复杂过滤。6.1 LIKE 操作符前面介绍的所有操作符都是针对已知值进行过滤的。不管是匹配一个值还是多个值,检验大于还是小于已知值,或者检查某个范围的值,其共同点是过滤中使用的值都是已知的。通配符(wildcard)用来匹配值的一部分的特殊字符。搜索模式(search pattern)由字面值、通配符或两者组合构成的搜索条件。通配符本身实际上是 SQL 的 WHERE 子句中有特殊含义的字符,SQL 支持几原创 2020-05-28 10:57:41 · 343 阅读 · 0 评论 -
SQL必知必会总结5 高级数据过滤(AND、OR、IN、NOT)
如何组合 WHERE 子句以建立功能更强、更高级的搜索条件?如何使用 NOT 和 IN 操作符?5.1组合 WHERE 子句总结 4 所有 WHERE 子句在过滤数据时使用的都是单一的条件。为了进行更强的过滤控制,SQL 允许给出多个 WHERE 子句。这些子句有两种使用方式,即以 AND 子句或 OR 子句的方式使用。操作符(operator)用来联结或改变 WHERE 子句中的子句的关键字,也称为逻辑操作符(logical operator)。5.1.1 AND操作符要通过不止一个列进行过滤原创 2020-05-26 09:48:15 · 1470 阅读 · 0 评论 -
SQL必知必会总结4 过滤数据
如何使用 SELECT 语句的 WHERE 子句指定搜索条件?使用 WHERE 子句只检索所需数据需要指定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。检验相等的例子SELECT prod_name, prod_price FROM Products WHERE prod_price = 3.49;提示:SQL 过滤与应用过滤数据也可以在应用层过滤。为此,SQL 的 SELECT 语句为客户端应用检索出超过实际所需的数据,然后客户端原创 2020-05-25 22:44:45 · 306 阅读 · 0 评论 -
SQL必知必会总结3 排序检索数据
排序数据为了明确地排序用 SELECT 语句检索出的数据,可使用 ORDER BY 子句。ORDER BY 子句取一个或多个列的名字,据此对输出进行排序。SELECT prod_name FROM Products ORDER BY prod_name;注意:ORDER BY 子句的位置在指定一条 ORDER BY 子句时,应该保证它是 SELECT 语句中最后一条子句。如果它不是最后的子句,将会出现错误消息。提示:通过非选择列进行排序通常,ORDER BY 子句中使用的列将是为显示而选择原创 2020-05-23 11:46:03 · 212 阅读 · 0 评论 -
SQL必知必会总结2 检索数据和注释
SELECT 语句从表中检索一个或多个数据列关键字(keyword)作为 SQL 组成部分的保留字。关键字不能用作表或列的名字。检索单个列SELECT prod_name FROM Products;上述语句利用 SELECT 语句从 Products 表中检索一个名为prod_name的列。所需的列名写在 SELECT 关键字之后,FROM 关键字指出从哪个表中检索数据。提示:结束 SQL 语句多条 SQL 语句必须以分号(;)分隔。多数 DBMS 不需要在单条 SQL语句后加分号,但也原创 2020-05-23 11:35:35 · 205 阅读 · 0 评论 -
SQL必知必会总结1 了解SQL
数据库 :数据库是一个以某种有组织的方式存储的数据集合。(保存有组织的数据的容器(通常是一个文件或一组文件)。)数据库软件应称为数据库管理系统(DBMS)。数据库是通过 DBMS 创建和操纵的容器,而具体它究竟是什么,形式如何,各种数据库都不一样。表是一种结构化的文件,可用来存储某种特定类型的数据表名使表名成为唯一的,实际上是数据库名和表名等的组合。有的数据库还使用数据库拥有者的名字作为唯一名的一部分。也就是说,虽然在相同数据库中不能两次使用相同的表名,但在不同的数据库中完全可以使用相同的表名。列原创 2020-05-23 11:07:12 · 149 阅读 · 0 评论