连表查询和分组查询

表连接和分组链接

1.分组查询
01.分组查询是按某一列分组,相同的列合并,查询出结果
02.Group by 关键字
03.分组查询支持的条件:
001.年级
002.姓氏
003.地址
004.年龄
04.语法
select 列名 from 表明
where 条件
group by 列名
*group by中查询的列,必须出现在查询列中!!!
*分组的顺序为由前到后
2.having
01.对分组后的数据进行筛选,将“组”看做“列”来限定条件
02.语法
select 列名 from 表明
where 条件
group by 列名
having 函数
03.having的用法
001.having的用法与where关键字类似,有三点不同
0001.having只能使用在Group by中使用
0002.where是用于在初始化表中筛选查询,having用在where和group by结果中查询
0003.

链接

1.内连接
01.通常使用“<>”“=”比较运算符来判断两个列的数值是否相等
02.使用inner jion......on关键字或where字句来查询
03.语法
select * from 表名
inner jion 表名
on 链接条件
*可以连接多个表
*链接条件必须都匹配
2.外链接
01.左链接
001.左链接的表为主表,其余的表只显示符合条件的列(不符合条件为null显示)
002.使用left jion......on关键字
03.语法
select * from 表名
left jion 表名
on 链接条件
*可以连接多个表
*链接条件必须都匹配

02.右链接
001.右链接的表为主表,其余的表只显示符合条件的列(不符合条件为null显示)
002.使用right jion......on关键字
03.语法
select * from 表名
right jion 表名
on 链接条件
*可以连接多个表
*链接条件必须都匹配

原文地址:https://www.cnblogs.com/x-Zhang/p/8988340.html

时间: 2024-08-02 18:05:23

连表查询和分组查询的相关文章

表连接和分组查询

分组查询:分组查询就是按某一列分组,相同的列合并,得到结果可能他少于总记录 使用group by分组查询:按什么分(年级.姓氏.地址.年龄)年级 分组查询语法:Select * from <表名>Where 条件Group by 列名 Group by后的列名必须在*里面出现 Demo:Select GradeId From StudentGroup by GradeId --统计每学期男女同学的人数 该怎么办select GradeId as 编号,COUNT(Sex) as 总和 from

Django学习【第7篇】:Django之ORM跨表操作(聚合查询,分组查询,F和Q查询等)

django之跨表查询及添加记录 一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);     一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many). 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany(&qu

Django之ORM跨表操作(聚合查询,分组查询,F和Q查询等)

一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);     一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many). 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany("要绑定关系的表名"

S1/C#语言和数据库技术基础/11-连接查询和分组查询

分组查询 采用分组查询的T-SQL语句如下. SELECT   CourseID,AVG(Score)   AS   课程平均成绩 FROM   Score GROUP   BY   CourseID (1)查询男女学生的人数各是多少 SELECT   COUNT(*)    AS   人数,SSex    FROM   Students GROUP   BY   SSex (2)查询每个年级的总人数 SELECT   COUNT(*)   AS   年级人数,SGrade   FROM   S

【Hibernate】Hibernate的聚类查询、分组查询、排序与时间之差

在Hibernate中的HQL语句其实能够基本能够实现SQL语句所做的事情,正如jQuery至于javascript一样.虽然HQL语句是对类的查询,但是HQL在实行聚类查询.分组查询.排序与时间之差等查询,也无须把查询结果查询出来,再通过对List的处理才得到结果. 比如有一张如下的Testtable表: 要像<[Mysql]求出离最近相差X天的项,sql语句关于日期的比对>(点击打开链接)一样,查询date字段离现在具有30年的项有多少,SQL语句则这样写: select count(*)

接连查询和分组查询

一. 分组查询 1.语法 SELECT ... FROM ... GROUP BY ... --分组查询Group by    select COUNT(*) as 学生人数,GradeId as 年级编号 from Student group by GradeId 2.进行多表之间的分组查询 --查询每门课程的平均分    --where 和 group by 和 order by 的顺序    select AVG(StudentResult) as 平均分,SubjectName as 课

Django Mysql数据库-聚合查询与分组查询

一.聚合查询与分组查询(很重要!!!) 聚合查询:aggregate(*args, **kwargs),只对一个组进行聚合 from django.db.models import Avg,Sum,Count,Max,Min # 1.查询所有图书的平均价格 print(models.Book.objects.all().aggregate(Avg("price"))) aggregate()是QuerySet 的一个终止子句(也就是返回的不再是一个QuerySet集合的时候),意思是说

ORM单表查询,跨表查询,分组查询

单表查询之下划线 models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值models.Tb1.objects.filter(id__in=[11, 22, 33]) # 获取id等于11.22.33的数据models.Tb1.objects.exclude(id__in=[11, 22, 33]) # not in models.Tb1.objects.filter(name__contains="ven")

python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)

12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "orm_demo.settings") import django django.setup() # 启动Django项目 from app01 import models #返回QuerySet对象的方法: r