首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL知识点总结

我觉得对于SQL语句,清楚知道它执行的顺序,对于写sql语句非常重要                                   sql查询中用到的关键词主要包含六个,并且他们的书定顺序依次为...(1)group by语句对select后所选择的字段有一定的限制,即select后没有使用聚合函数的字段必须包含在group by 语句后面的结果集中。...而结果集列名称一般指的是select 后字段 As "结果集列的名称"。 (4)GROUP BY 语句中的空值,如果分组列包含一个空值则该行将成为结果中的一个组。...如果分组列包含多个空值,则这些空值将放入一个组中。 (5)GROUP BY 语句中可以使用 ALL(可选)关键字,返回由GROUP BY 子句生成的所有组。...] SELECT  语句n 其中:ALL表示在合并结果集中包含所有查询语句产生的全部记录,包括重复的记录。

2.3K10

MySQL表的增删改查

引言:CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写 一.新增数据 1.单行数据 + 全列插入: -- 插入两条记录,value_list....查询字段为表达式: 4.1 表达式不包含字段: 4.2 表达式包含一个字段: 4.3 表达式包含多个字段: 5 别名: 为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称...NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面 7.3. 使用表达式排序: 7.3....Where条件可以使用表达式,但不能使用别名。 (因为SQL查询语句,先执行from-->where-->select,最后是order by) 2....FROM 表名 [WHERE ...] [ORDER BY ...] LIMIT n; 从 s 开始,筛选 n 条结果: SELECT ... FROM 表名 [WHERE ...]

10910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    互联网十万个为什么之什么是SQL

    简单、易用 SQL语言是一种高度结构化的语言,SQL中的关键词基本都是常见的英文单词(如SELECT、WHERE、ORDER BY等),且大部分关键字与该英文单词的愿意相同或接近,非常易于理解。...WHERE 设置筛选条件。用于在SELECT、UPDATE、DELETE等语句中指定筛选条件。...否 SELECT * FROM sheet1 WHERE age > 20;表示从名称为“sheet1”的数据表中筛选并返回“age”大于20的行。 GROUP BY 对查询结果集中的数据进行分组。...GROUP BY经常与 COUNT()、SUM()、AVG()、MAX()、MIN()等子句配合使用,可以基于指定的一列或多列的值(如总数、平均值、最大值、最小值等),对表行进行分类汇总。...否 SELECT * FROM sheet1 ORDER BY age DESC;表示查询名称为“sheet1”的数据表,并返回所有数据,且数据按“age”一列的值降序排列。

    6810

    mysql复合索引、普通索引总结

    包含多个列的主键始终会自动以复合索引的形式创建索引,其列的顺序是它们在表定义中出现的顺序,而不是在主键定义中指定的顺序。在考虑将来通过主键执行的搜索,确定哪一列应该排在最前面。...请注意,创建复合索引应当包含少数几个列,并且这些列经常在select查询里使用。在复合索引里包含太多的列不仅不会给带来太多好处。...只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。 2、唯一索引 普通索引允许被索引的数据列包含重复的值。...如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。...查询命令去检索那些包含着一个或多个给定单词的数据记录了。

    2.8K20

    SQL基础查询方法

    WHERE 子句指定出条件:在 Product 表中,只有 ListPrice 列中的值大于 40的产品的产品ID、名称以及标价¨G0G在SELECT关键字之后所列出的列名(ProductID、Name...WHERE子句指定出条件:在Product表中,只有ListPrice列中的值大于40,该值所在的行才符合 SELECT 语句的要求。...这使结果集中得以包含基表中不存在,但是根据基表中存储的值计算得到的值。这些结果集列被称为派生列。 表达式可以包含 $ROWGUID 关键字。它解析为对表中具有 ROWGUIDCOL 属性的列的引用。...[包含要成为列标题的值的列>] IN ( [第一个透视的列], [第二个透视的列], ......WHERE 和 HAVING 是筛选器。这两个子句指定一系列搜索条件,只有那些满足搜索条件的行才用于生成结果集。我们称满足搜索条件的行包含在结果集中。

    4.3K10

    MySQL 模糊查询再也不用like+%了

    MATCH ( title, body ) AGAINST ( 'MySQL' ); 上述语句,查询 title,body 列中包含 'MySQL' 关键字的行数量。...FROM `fts_articles`; 上述两种语句虽然得到的结果是一样的,但从内部运行来看,第二句 SQL 的执行速度更快些,因为第一句 SQL(基于 where 索引查询的方式)还需要进行相关性的排序统计...还可以通过 SQL 语句查询相关性: SELECT *, MATCH ( title, body ) against ( 'MySQL' ) AS Relevance FROM...fts_articles; 相关性的计算依据以下四个条件: word 是否在文档中出现 word 在文档中出现的次数 word 在索引列中的数量 多少个文档包含该 word 对于 InnoDB 存储引擎的全文检索...在 InnoDB 引擎中,参数 innodb_ft_min_token_size 的默认值是 3,innodb_ft_max_token_size 的默认值是 84。

    25110

    MySQL模糊查询再也用不着 like+% 了!

    ( title, body ) AGAINST ( 'MySQL' ); 上述语句,查询 title,body 列中包含 'MySQL' 关键字的行数量。...FROM     `fts_articles`; 上述两种语句虽然得到的结果是一样的,但从内部运行来看,第二句SQL的执行速度更快些,因为第一句SQL(基于where索引查询的方式)还需要进行相关性的排序统计...; 相关性的计算依据以下四个条件: word 是否在文档中出现 word 在文档中出现的次数 word 在索引列中的数量 多少个文档包含该 word 对于 InnoDB 存储引擎的全文检索,还需要考虑以下的因素...: 查询的 word 在 stopword 列中,忽略该字符串的查询 查询的 word 的字符长度是否在区间 [innodb_ft_min_token_size,innodb_ft_max_token_size...在 InnoDB 引擎中,参数 innodb_ft_min_token_size 的默认值是3,innodb_ft_max_token_size的默认值是84 Boolean 布尔搜索使用特殊查询语言的规则来解释搜索字符串

    1.3K30

    mysql索引使用技巧及注意事项

    INSERT 与 UPDATE 语句在拥有索引的表中执行会花费更多的时间,而SELECT 语句却会执行得更快。这是因为,在进行插入或更新时,数据库也需要插入或更新索引值。...fulltext index(全文索引):可以针对值中的某个单词,但效率确实不敢恭维 组合索引:实质上是将多个字段建到一个索引里,列值的组合必须唯一 (1)使用ALTER TABLE语句创建索性        ...如果索引列长度过长,这种列索引时将会产生很大的索引文件,不便于操作,可以使用前缀索引方式进行索引,前缀索引应该控制在一个合适的点,控制在0.31黄金值即可(大于这个值就可以创建)。...使用方法,在select语句前加上Explain就可以了: Explain select * from user where id=1;   尽量避免这些不走索引的sql: SELECT `sname`...使用索引时,有一些技巧:     1.索引不会包含有NULL的列        只要列中包含有NULL值,都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此符合索引就是无效的。

    2.5K70

    SQL命令 UNION

    FROM Table2 如果联合分支中的列在长度、精度或比例上不同,则给结果列分配最大的值。...以下SQL构造通常不支持UNION %PARALLEL执行:外部连接、相关字段、包含子查询的IN谓词条件或集合谓词。...UNION ALL和聚合函数 SQL自动优化将UNION ALL聚合函数推入UNION分支子查询。 SQL计算每个子查询的聚合值,然后组合结果返回原始聚合值。...这种优化变换只在以下情况下发生: 外部查询FROM子句必须只包含一个UNION ALL语句。 外部查询不能包含WHERE子句或GROUP BY子句。 外部查询不能包含%VID(视图ID)字段。...在第二个示例中,UNION ALL返回所有值,包括重复值: SELECT Name FROM Sample.Employee WHERE Name %STARTSWITH 'A' UNION SELECT

    1.6K20

    sql必知必会1

    将之前学习的数据库知识在整理下,主要是看的**《SQL必知必会》**。这本书不愧是经典,入门数据库真的完全足够啦! ?...语法清楚,更直观 求值顺序更容易管理 in子句中可以包含更多其他的select子句,动态地建立where子句 select prod_name, prod_price from products where...() 行数;count(*):统计所有的行数,包含列是NULL的行count(column):特定的列进行统计,忽略NULL值 max() 最大值忽略列值为NULL的行 min() 最小值忽略列值为NULL...的行 sum() 某列值之和忽略列值为NULL的行 select avg(prod_price) as avg_price from products where vend_id = 'DLL01';...,因为是默认ALL 只包含不同的列值,指定DISTINCT参数 DISTINCT参数不能用于count(*),只能用于count(column)指定特定字段 select avg(distinct prod_price

    62820

    MySQL 模糊查询再也不用 like+% 了!

    ( title, body ) AGAINST ( 'MySQL' ); 上述语句,查询 title,body 列中包含 'MySQL' 关键字的行数量。...    `fts_articles`; 上述两种语句虽然得到的结果是一样的,但从内部运行来看,第二句SQL的执行速度更快些,因为第一句SQL(基于where索引查询的方式)还需要进行相关性的排序统计,...; 相关性的计算依据以下四个条件: word 是否在文档中出现 word 在文档中出现的次数 word 在索引列中的数量 多少个文档包含该 word 对于 InnoDB 存储引擎的全文检索,还需要考虑以下的因素...: 查询的 word 在 stopword 列中,忽略该字符串的查询 查询的 word 的字符长度是否在区间 [innodb_ft_min_token_size,innodb_ft_max_token_size...在 InnoDB 引擎中,参数 innodb_ft_min_token_size 的默认值是3,innodb_ft_max_token_size的默认值是84 Boolean 布尔搜索使用特殊查询语言的规则来解释搜索字符串

    6.5K30

    MySQL 模糊查询再也不用like+%了

    ( title, body ) AGAINST ( 'MySQL' ); Natural Language 上述语句,查询 title,body 列中包含 'MySQL' 关键字的行数量。...FROM     `fts_articles`; 上述两种语句虽然得到的结果是一样的,但从内部运行来看,第二句SQL的执行速度更快些,因为第一句SQL(基于where索引查询的方式)还需要进行相关性的排序统计...; SQL语句查询相关性 相关性的计算依据以下四个条件: word 是否在文档中出现 word 在文档中出现的次数 word 在索引列中的数量 多少个文档包含该 word 对于 InnoDB 存储引擎的全文检索...,还需要考虑以下的因素: 查询的 word 在 stopword 列中,忽略该字符串的查询 查询的 word 的字符长度是否在区间 [innodb_ft_min_token_size,innodb_ft_max_token_size...在 InnoDB 引擎中,参数 innodb_ft_min_token_size 的默认值是3,innodb_ft_max_token_size的默认值是84 Boolean 布尔搜索使用特殊查询语言的规则来解释搜索字符串

    2.5K40

    基础篇:数据库 SQL 入门教程

    SQL 基础语言学习 在了解 SQL 基础语句使用之前,我们先讲一下 表 是什么? 一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。...Persons; 可以发现,在结果集中,Wilson 被列出了多次。...语法: AND 运算符实例: SELECT * FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值; OR 运算符实例: SELECT * FROM 表名称 WHERE 列 运算符 值...SQL 高级言语学习 LIKE – 查找类似值 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。...VIEW – 视图 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。 视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。

    8.9K10

    SQL高级查询方法

    WHERE [NOT] EXISTS (subquery) 许多包含子查询的 Transact-SQL 语句都可以改用联接表示。其他问题只能通过子查询提出。...在 Transact-SQL 中,包含子查询的语句和语义上等效的不包含子查询的语句(即联接的方式)在性能上通常没有差别。但是,在一些必须检查存在性的情况中,使用联接会产生更好的性能。...指定用于比较各列的值的逻辑运算符(例如 = 或 )。 可以在 FROM 或 WHERE 子句中指定内部联接;而只能在 FROM 子句中指定外部联接。...当某一行在另一个表中没有匹配行时,另一个表的选择列表列将包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。 交叉联接 交叉联接将返回左表中的所有行。左表中的每一行均与右表中的所有行组合。...若要用新名称引用结果集中的某列(例如在 ORDER BY 子句中),必须按第一个 SELECT 语句中的方式引用该列 SELECT city AS Cities FROM stores_west UNION

    5.7K20

    两万字图文 SQL 零基础入门,不怕你学不会,就怕你不收藏!❤️

    SQL 基础语言学习 在了解 SQL 基础语句使用之前,我们先讲一下 表 是什么? 一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。...Persons; 可以发现,在结果集中,Wilson 被列出了多次。...语法: AND 运算符实例: SELECT * FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值; OR 运算符实例: SELECT * FROM 表名称 WHERE 列 运算符 值...SQL 高级言语学习 ???? LIKE – 查找类似值 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。...VIEW – 视图 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。 视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。

    8.4K11

    MIMIC数据库,常用查询指令SQL基础(一)

    SELECT 语句 SELECT 语句用于从数据库中选取数据。 结果被存储在一个结果表中,称为结果集。 SQL SELECT 语法 SELECT column1, column2, ......PostgresSQL 中的 WHERE 语句可以用 OR 包含多个过滤条件。 示例 IN IN 操作符允许您在 WHERE 子句中规定多个值。...value1:范围的起始值。 value2:范围的结束值。 模式匹配 LIKE 模式匹配功能主要用于搜索,常用的就是LIKE LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。...示例 %是为了避免在两个单词之间填充其他字符导致结果出错 lower 是把 label字段都变成小写,以避免没有匹配上而遗漏 模式匹配 POSIX 正则表达式 ~ ORDER BY 在 PostgreSQL..., .. columnN] [ASC | DESC]; 您可以在 ORDER BY 中使用一列或者多列,但是必须保证要排序的列必须存在。

    46340

    SQL数据分析:从基础入门到进阶,提升SQL能力

    SQL 基础语言学习 在了解 SQL 基础语句使用之前,我们先讲一下 表 是什么? 一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。...Persons; 可以发现,在结果集中,Wilson 被列出了多次。...,结果集中只显示了一列 Wilson,显然已经去除了重复列。...语法: SELECT 列名称 FROM 表名称 WHERE 列 运算符 值; 下面的运算符可在 WHERE 子句中使用: 操作符 描述 = 等于 不等于 > 大于 < 小于 >= 大于等于 <=...语法: AND 运算符实例: SELECT * FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值; OR 运算符实例: SELECT * FROM 表名称 WHERE 列 运算符 值

    3.3K42
    领券