MYSQL聚合函数分组查询和连接查询(一般人我不告诉他)废寝忘食只为博君一赞!

聚合函数和分组查询

  排序语法
    ORDER BY 字段名 ASC (升序排列(默认))
    ORDER BY 字段名 DESC (降序排列)
    例:SELECT 字段名 FROM 表名 ORDER BY 字段;

  分组查询
    GROUP BY 字段名 
    例:SELECT 字段名 FROM 表名 GROUP BY 字段;

  区别:
    1、GROUP BY 和 ORDER BY——先分组在排序
    GROUP BY:按字段进行独立分组
    ORDER BY:按照要求对某字段进行排序,可以升降序

    2、WHERE 和 HAVING——后面接条件表达式
    WHERE:分组之前选择符合条件的记录
    HAVING:分组之后过滤掉不符合条件的数据

连接查询:

分类:
    内连接
     1、 交叉连接(笛卡尔积)——语法
介绍:通俗而言,笛卡尔积就是两个集合中的每一个成员都与对方集合中的任意一个成员有关联。
       交叉连接:两张表A和B的所有数据组合在一起,造成大量数据沉余
         语法:SELECT * FROM 表1 CROSS JOIN 表2

 
        2、内连接
内连接查询概要:内连接是应用程序中非常常见的连接操作,它一般都是默认的连接类型。内连接基于连接谓词,它将两张表(如A和B)的列组合在一起,产生新的结果表。内连接查询会将A表的每一行和B表的每一行进行比较,并找出满足连接谓词的组合。当连接谓词被满足,A和B中匹配的行会按列组合(并排组合)成结果集中的一行。
    语法:
          内连接查询:(主键连外键)
        不常用写法:SELECT * FROM family(表1) f JOIN infor(表2) i
        常用写法:SELECT * FROM 表1 首字母,表2 首字母
            WHERE 表一首字母.(主/外键)=表2首字母.(主/外键)
        例:
           SELECT * FROM fima f,info i WHERE f.name=i.name

     3、多表链接——两两链接
介绍:如果查询信息来源于多张表,则可通过两两相连的方式建立多表链接查询。
    语法:
           SELECT * FROM family(表1) f(表1首字母),information(表2) i(表2首字母),score(表3) s(表3首字母) WHERE f.name(family表的主/外键)=i.name(information表的主/外键) AND s.studentNo(score的主/外键)=i.studentNo(information表的主/外键)
     4、外连接
外连接查询概要:在内连接查询中,只有满足连接条件的记录才能出现在查询结果中。但在实际应用中,如果希望不满足连接条件的记录也在查询结果中出现,这时需要使用外连接查询。
    语法:
       SELECT 字段名称 FROM 表名1 LEFT|RIGHT|FULL[OUTER](OUTER可省略) JOIN 表名2 ON 表名1.字段名1=表名2.字段名2

    左外连接(LEFT JOIN)
    在左外连接的结果集包括左表的所有记录和右表中满足连接条件的记录,结果集中那些不符合连接条件的来源于右表的列值为null

    右外连接(RIGHT JOIN)
        右外连接是左外表连接的反向连接。右外连接的结果集包括右表的所有记录和左表中满足连接条件的记录,结果集中那些不符合连接条件的来源于左表的列值为null。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值