python基础学习-数据库篇02

本文详细介绍了SQL的基础知识,包括关键字as的使用、distinct去除重复数据、where条件查询、模糊查询、范围查询、空判断、排序查询、分页查询、聚合函数、分组查询等,并提供了丰富的案例说明。

数据库基础学习

  1. as关键字:
    在使用SQL语句显示结果的时候,往往在屏幕显示的字段名并不具备良好的可读性,此时可以使用 as 给字段起一个别名。
SELECT id as 序号,name as 姓名,sex as 性别 from students;
  1. distinct关键字
    distinct可以去除重复数据行。
select distinct 列1,... from 表名;
  1. where条件查询
    使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中。
select * from 表名 where 条件;

比较运算符:
1.等于: =、2.大于: >、3.大于等于: >=、4.小于: <、5.小于等于: <=、6.不等于: != 或 <>
逻辑运算符
1.and、2.or、3.not
模糊查询
1.like是模糊查询关键字、2.%表示任意多个任意字符、3._表示一个任意字符
范围查询
1.between … and … 表示在一个连续的范围内查询、2.in 表示在一个非连续的范围内查询
空判断
1.判断为空使用: is null、2.判断非空使用: is not null
4. 排序查询语法

select * from 表名 order by 列1 asc|desc [,2 asc|desc,...]

函数查询的案例实现:select * from 表名 order by 列1 asc|desc [,列2 asc|desc,…]
5. 分页查询

select * from 表名 limit start,count
//limit是分页查询关键字,start表示开始行索引,默认是0,count表示查询条数
  1. 聚合函数
    count(col): 表示求指定列的总行数
    max(col): 表示求指定列的最大值
    min(col): 表示求指定列的最小值
    sum(col): 表示求指定列的和
    avg(col): 表示求指定列的平均值
    具体实现的方法:
select count(height) from students; 
  1. 分组查询(group by)
    分组查询就是将查询结果按照指定字段进行分组,字段中数据相等的分为一组。
    是将每一条信息单独的进行呈现
select gender from students group by gender;

将符合分组的数据按照要求进行分组呈现:
group_concat(列的名称)

select gender,group_concat(name) from students group by gender;

group by + 聚合函数的使用

//统计不同性别的人的平均年龄
select gender,avg(age) from students group by gender;

group by + having的使用
having作用和where类似都是过滤数据的,但having是过滤分组数据的,只能用于group by
group by + with rollup的使用
with rollup的作用是:在最后记录后面新增一行,显示select查询时聚合函数的统计和计算结果

  1. 内连接查询:

select 字段 from 表1 inner join 表2 on 表1.字段1 = 表2.字段2
inner join 就是内连接查询关键字
on 就是连接查询条件
链接之后的数据:内连接根据连接查询条件取出两个表的 “交集”

  1. 连接查询-左连接
    以左表为主根据条件查询右表数据,如果根据条件查询右表数据不存在使用null值填充

SELECT * from students AS s LEFT JOIN class as c on s.c_id=c.id;
left join 就是左连接查询关键字
on 就是连接查询条件
表1 是左表
表2 是右表

10.连接查询-右连接
以右表为主根据条件查询左表数据,如果根据条件查询左表数据不存在使用null值填充
在使用左右连接的时候是可以按照左右子表的主键进行排序的。

SELECT * from students AS s RIGHT JOIN class as c on s.c_id=c.id;
right join 就是右连接查询关键字
on 就是连接查询条件
表1 是左表
表2 是右表

11.连接查询-自连接
12.数据的子查询
在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句,外部那个select语句则称为主查询.(就是我们的嵌套的数据查询的语句)

SELECT * from students where age >(SELECT AVG(age) from students);

13.演练-分组和聚合函数的组合使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值