一、聚合查询
使用SQL自带的聚合函数进行查询,有count()、AVG()、min()、max()、sum()
二、分组聚合查询
select 后面的字段 只能是group by后的字段
1 | SELECT City,Gender, COUNT(*)FROM Students GROUP BY City, Gender; |
三、多表查询
等值查询:两表的所有数据都要连接,然后再根据条件进行筛选
1 2 3 | SELECT S.StudentlD, C.CourseName FROM Students AS S, courses AS C WHERE S.CourselD = C.CourselD; |
四、连接查询
也是一种多表查询,和等值查询不同的是,先确定主表,再连接其他表,连接时只有满足on 后面条件的才能连接上,结果和等值查询一样,但是效率比等值查询高
并且:
内连接可以使用除等值条件外的其他条件,如大于、小于等。连接条件可以是多个,并且可以使用逻辑运算符组合。
等值连接的连接条件只能是两个表中的字段相等,即使用"="运算符进行比较。
1 2 3 | SELECT s.studentID, c.courseName FROM Students As s INNER JOIN Courses As c ON s.courseID = c.courseID; |
内连接:
此语句就能将每个StudentlD和其对应的课程名查询出来,要注意内连接语句的语法如下︰
1.确定主表,使用FROM table_name
2.紧接着确认连接的表,I使用INNERJOIN table_name
3.再确定连接条件,使用ON condition,
4.最后加上: WHERE、ORDERBY等之子句
- 左外连接(Left Outer Join)返回符合连接条件的行以及左表中的所有行,对于右表中未满足连接条件的行,将填充为NULL值。
- 右外连接(Right Outer Join)返回符合连接条件的行以及右表中的所有行,对于左表中未满足连接条件的行,将填充为NULL值。
- 全外连接(Full Outer Join)返回符合连接条件的行以及两个表中的所有行,对于未满足连接条件的行,将填充为NULL值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!