总结

来源:互联网 发布:淘宝小卖家申请直播 编辑:程序博客网 时间:2024/06/05 03:07

GROUP BY分组

使用GROUP BY关键字对查询结果分组
对所有的数据进行分组统计
分组的依据字段可以有多个,并依次分组
与HAVING结合使用,进行分组后的数据筛选

ORDER BY排序查询
对SELECT语句查询得到的结果,按某些字段进行排序
与DESC或ASC搭配使用,默认为ASC
什么是子查询
在查询语句中的WHERE条件子句中,又嵌套了另外一个查询语句
 嵌套查询可由多个子查询组成,求解的方式是由里及外;
子查询返回的结果一般都是集合,故而建议使用 IN 关键字;
使用GROUP BY关键字对查询结果分组
对所有的数据进行分组统计
分组的依据字段可以有多个,并依次分组
与HAVING结合使用,进行分组后的数据筛选
  函数名称                                               描述
COUNT( )                   返回满足SELECT条件的记录总和数,如 SELECT COUNT(*)..
SUM( )                         返回数字字段或表达式列作统计,返回一列的总和
AVG( )                          通常为数值字段或表达列作统计,返回一列的平均值
MAX( )                         可以为数值字段、字符字段或表达式列作统计,返回最大

的值
MIN( )                          可以为数值字段、字符字段或表达式列作统计,返回最

小的值
连接查询:如需要多张数据表的数据进行查询,则可通过连接运算符实现多个查询。

分类包括:

内连接(inner join)

等值和非等值的连接查询

自身连接查询

外连接(out join)

左连接(left join)

右连接(right join)

内连接查询

等值和非等值得连接查询

与单表查询类似,都是SELECT语句

把多个表放到FROM后,并用都好隔开

可使用AS关键字取别名,便于引用

如无重名查询字段则可省略数据表的指定

外连接(LEFT JOIN)

从左表(table_1)中返回所有记录,即便在右(table_2)中没有匹配的行;

SELECT  字段1,字段2......FROM table_1

LEFT[OUTER] JOIN table_2 ON table_1.字段X=table_2.字段y

右连接(RIGHT JOIN)

从右表(table_2)中返回所有的记录,即便在左(table_1)中没有匹配的行

SELECT  字段1,字段2......FROM table_1

RIGHT[OUTER] JOIN table_2 ON table_1.字段X=table_2.字段y

JOIN对比

操作符名称                          描述

INNER JOIN(JOIN)          如果表中右至少一个匹配,则返回行

LEET JOIN                      即使右表中没有匹配,也从左表中返回所有的行

RIGHT JOIN                    即使左表中没有匹配,也从右表中返回所有的行

 
AS子句的作用

可以给数据列取一个新别名

可以给表取一个新别名

可把经计算或总结的结果用另外一个新名称代替

AS子句用法

  SELECT   studentNo  AS '学号'FROM 表名;

DISTNCT关键字作用:

   去掉SELECT查询返回的记录结果中重复的记录(所有返回列的值都相同)只能返回一条,

语法:

SELECT DISTINCT  字段名1,字段名2,。。。。。。FROM 表名

注意:

   ALL关键字是默认的,返回所有的记录,与之相反。

逻辑操作符

  操作符名称                语法             描述

AND 或&&      a AND b或a&&b      逻辑与,同事为真结果才为真

OR 或||           a OR b或a||b            逻辑或,只要一个为真,则结果为真

XOR 或^        a XOR b                   逻辑异或,不同为真,相同为假

NOT或 i         NOT a或!b             逻辑非,若操作数为假,结果则为真

比较操作符

操作符名称                语法                                   描述

IS NULL                  a IS NULL                  若操作符为NULL,则结果为真

IS NOT NULL         a IS NOT NULL         若操作符不为NULL,则结果为真

BETWEEN        a BETWEEN b AND c      若a范围在b与c之间则结果为真

LIKE                   a LIKE b                         SQL模式匹配,若a匹配b,则

结果为真

IN                 a IN(a1,a2,a3.....)                  若a等于a1,a2....某一个结

果为真

  SELECT<字段名列表>

FROM<表名或视图>

[WHERE<查询条件>]

[GROVP  BY <分组的字段名>]

[HAVING<条件>]

[ORDER BY<排序的字段名>【ASC或DESC】]

SQL Server中查询语句在MYSQL中同样支持

[LIMT [位置偏移量]行数]

     函数           作用

AVG()         返回某字段的平均值

COUNT()    返回某字段的行数

MAX()        返回某字段的最大值

MIN()         返回某字符的最小值

SUM()       返回某字段的和


 

 

0 0
原创粉丝点击