数据库语句进阶

数据库原始表

user_info表格
在这里插入图片描述
school表格
在这里插入图片描述

语句

1、Group by(分组)

    1.1、作用:将查询到的结果进行分组,即根据 By 后面的字段将相同的内容进行合并
    1.2、语法格式:SELECT  字段名  FROM  表名  GROUP  BY  字段名
    1.3、例句:SELECT country FROM user_info GROUP BY country
         例句讲解:在 user_info 表中查询 country字段,并根据country进行分组显示(即:将country字段中相同的值进行合并然后分别显示)
    1.5、注释:GROUP BY大多跟聚合函数一起使用,可用来统计同组内容的数量、总数等数据

演示示例1(GROUP BY查询)
在这里插入图片描述
演示实例2(GROUP BY与聚合函数组合)
在这里插入图片描述

2、Having(筛选)

    2.1、作用:对查询到的数据进行进一步的筛选
    2.2、语法格式 :SELECT  字段名  FROM  表名  GROUP  BY  字段名  HAVING 条件
    2.3、例句: SELECT country ,sum(age) FROM user_info GROUP BY country HAVING sum(age) > 35
         例句讲解:查询总共年龄大于35的城市,显示城市名称和总共年龄
    2.4、注释:(1)HAVING通常与GROU BY配合使用,其弥补了GROUP BY和WHERE不能配合使用的缺陷
              (2)Having是对 已经查询到的数据进行进一步筛选,所以所针对的数据也是上一步查询得到的数据,
              (3)与where的不同:where后面的条件需要是数据库中存在的属性值,having可以是查询出来的结果,比如count、max等,对这些结果做进一步筛选

演示示例
在这里插入图片描述
3、Limit(限制)

    3.1、作用:对查询到的结果进行限制显示
    3.2、语法格式:SELECT  字段名 FROM 表名 LIMIT m (显示M条数据)
                              SELECT  字段名 FROM 表名 LIMIT m,n (显示第m+1~第n+1条数据)
    3.3、例句:SELECT * FROM user_info ORDER BY tall ASC LIMIT 1,3
         例句讲解:按照身高升序排列进行查询,按照查询加过只显示第2~4条数据
    3.4、注释:数据库中语句中的序号是从0开始的

演示示例
在这里插入图片描述
4、IN(多值查询)

    4.1、作用:允许WHERE子句中出现多个值进行查询
    4.2、语法格式:SELECT * FROM 表名 WHERE IN (条件1,条件2......)
    4.3、例句:SELECT * FROM user_info WHERE user_name IN ("萨达","多多") 
         例句讲解:查询用户名为萨达、多多的用户信息

演示示例
在这里插入图片描述
5、BETWEEN(范围查询)

    5.1、作用:将规定的范围作为条件进行查询
    5.2、语法格式:SELECT * FRON 表名 WHERE BETWEEN 条件1 AND 条件2
    5.3、例句:SELECT * FROM user_info WHERE tall BETWEEN  170 and 190 
         例句讲解:查询身高在170到190之间的用户信息

演示示例
在这里插入图片描述
6、Aliases(使用别名)

    6.1、作用:将表名或者列名指定一个别名(多用于一些名称长的表名或者列名,使用时更为方便)
    6.2、语法格式:SELECT * FROM 表名 AS 别名 WHERE 别名.字段 = 条件  【表名使用别名】
                  SELECT 列名 AS 别名 FROM 表名 【列名使用别名】
    6.3、例句:SELECT * FROM user_info AS info WHERE info.id = 1 
         例句讲解:查询用户id为1的用户信息

演示示例1(表名使用别名)
在这里插入图片描述
演示示例2(列名使用别名)
在这里插入图片描述
演示示例3(表名使用别名,多表查询)
在这里插入图片描述
7、NATURAL JOIN(自然连接)

    7.1、作用:将两个表格根据“具有相同列名的列”进行对比匹配,将两个的表格信息进行合并显示
    7.2、语法格式:SELECT 列名 FROM 表名 NATURAL JOIN 表名
    7.3、例句: SELECT * FROM user_info   NATURAL JOIN  school
         例句讲解:将 user_info和schoool两个表进行对比匹配
    7.4、注释:两个表格根据列名相同的列进行对比和匹配并最终显示,如果两个表中列名相同的列中对应的内容完全一致,则合并显示,若列名相同的列中对应的内容(即某一行)有不一致,则该行不进行显示;无法指定具体需要匹配的列,它会自动将列进行匹配

演示示例(将user_info和school两个表进行匹配)
在这里插入图片描述
8、INNER JOIN(内连接)

   8.1、作用:将两个表根据指定的列进行对比匹配,最终进行返回显示。表1内连接表2,只显示表1和表2中相匹配的数据,其余的数据不会显示。
   8.2、语法格式:SELECT 字段名 FROM 表名1  INNER JOIN  表名2  ON 表名1.字段名 = 表名2.字段名
   8.3、例句:SELECT * FROM user_info as U INNER JOIN  school AS S ON U.id=S.id
        例句讲解:将两个表根据id列进行对比匹配
   8.4、注释:INNER JOIN和JOIN是相同的

演示示例 (这里使用了as)在这里插入图片描述
9、LEFT JOIN(左连接)

    9.1、作用:将两个表根据指定的数据进行对比匹配,最终进行返回显示。表1左连接表2,以表1为主,表1中的数据全部显示,表2中的数据只显示和表1匹配的数据
    9.2、语法格式:SELECT 字段名 FROM 表名1 LEFT JOIN 表名2 ON 表名1.字段名=表名2.字段名
    9.3、例句:SELECT * FROM user_info as U LEFT JOIN  school AS S ON U.id=S.id
         例句讲解:将两个表根据id列进行对比匹配,其中user_info表中的数据会全部显示(包括未成功匹配的)

演示示例
在这里插入图片描述
10、RIGHT JOIN(右连接)

    10.1、作用:将两个表根据指定的数据进行对比匹配,最终进行返回显示。表1右连接表2,以表2为主,表2中的数据全部显示,表1中的数据只显示和表1匹配的数据
    10.2、语法格式:SELECT 字段名 FROM 表名1 RIGHT JOIN 表名2 ON 表名1.字段名=表名2.字段名
    10.3、例句:SELECT * FROM user_info as U RIGHT JOIN  school AS S ON U.id=S.id
          例句讲解:将两个表根据id列进行对比匹配,其中school表中的数据会全部显示(包括未成功匹配的)

注:持续更新…其中有问题的地方,欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值