SQL语句知识采集

优采云 发布时间: 2020-08-06 09:05

  SQL语句知识采集

  说明: 本文档不是全面解释sql的文档,而只是对sql的一些注意点的解释. 这是适合一小部分人的文件

  了解where关键字

  默认情况下,将显示所有行. 哪里可以理解为取出每一行的该行的数据并将其放在要计算的位置. 如果为true,将显示它;如果为假,则不会显示.

  在哪里过滤数据

  数据也可以在应用程序中(在代码中)进行过滤,但是无论是在代码中还是在数据库中进行过滤. 实际上,从名称上基本上可以看出,数据库是专门为存储数据和数据查询过滤功能而设计的,显然效率比代码中的要快. 因此,建议这不是特殊情况,该过滤尽可能由数据库完成.

  与select语句相关的关键字

  distinct关键字仅返回不同的值,并且必须直接放在列名的前面. 不同的不能部分使用. 如果选择不同的vend_id,prod_price,则除非指定的两列不同,否则所有行都将检索它.

  何时使用引号

  除了值,引号是必需的. 当然,引号也可以用于值.

  例如: 其中vend_id!= 1003

  NULL值

  请勿使用== null,但use为null. 执行不匹配过滤时要小心

  例如: 例如,如果您想过滤出名称不等于“ zhangsan”的行,则可以认为null值是未知的,并且数据库不知道它们是否匹配,因此它不会. 退还他们.

  使用like时,将不匹配null.

  空可以理解为不确定的事物. 数据库不知道它是匹配项还是不匹配项,因此有关匹配项或不匹配项的所有查询都不会检测到null. 因此,查询是否为空,是否有特殊的句子为空.

  AND和OR的计算顺序

  在处理OR运算符之前,先处理AND. 但这并不重要,您应该随时使用括号来增加优先级.

  与日期有关的注意点

  在比较日期是否相等时使用Date()函数,在比较时间时使用Time()函数. 还有Year(),Month()等.

  汇总功能

  对聚合函数的理解: 通常,一列(或多列)将变成一个值. 因此,聚合函数的结果应视为多行.

  关于COUNT()函数的注意事项

  count(column)忽略空值,count(*)不忽略. 还是对null的理解

  组数据

  如何理解分组?换句话说,如何理解分组后的每一行数据?分组后的每个数据实际上对应于原创表中的一个或多个数据. 因此也可以理解,分组后查询的数据是通用的. 全部是聚合函数,或用于分组的字段.

  分组依据应位于分组依据之后和之前,并且可以位于分组依据之后. 关于以上结论,我们有一个大胆的想法:

  哪里要过滤行,而必须要过滤整个行还是不过滤多行.

  子查询

  如何理解子查询. 找到主查询中的每一行数据后,即可使用子查询. 您可以将子查询放在主查询的选择中,或将其放在过滤主查询数据的位置.

  加入表格

  了解连接吗?

  联接是按照某种方式组合一个或几个表的行,并在必要时进行过滤(过滤显示的信息(列)或行)

  笛卡尔积.

  查看

  虚拟表. 可以理解为实现SQL重用的SQL封装的参考.

  存储过程

  一个或多个SQL语句的集合. 它可以用作编写具有输入和输出参数的SQL函数的成果. 变量可以在函数中声明,判断等.

  光标

  在MySQL中,游标只能在存储过程(和函数)中使用.

  游标是存储在MySQL服务器中的数据库查询. 它不是SELECT语句,而是由该语句检索的结果集. 因此,您当然可以根据需要滚动或浏览数据. 您可以将其理解为“这是带有结果的存储列表”.

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线