一、聚合查询
使用SQL自带的聚合函数进行查询,有count()、AVG()、min()、max()、sum()
二、分组聚合查询
select 后面的字段 只能是group by后的字段
SELECT City,Gender, COUNT(*)FROM Students GROUP BY City, Gender;
三、多表查询
等值查询:两表的所有数据都要连接,然后再根据条件进行筛选
SELECT S.StudentlD, C.CourseName FROM Students AS S, courses AS C WHERE S.CourselD = C.CourselD;
四、连接查询
也是一种多表查询,和等值查询不同的是,先确定主表,再连接其他表,连接时只有满足on 后面条件的才能连接上,结果和等值查询一样,但是效率比等值查询高
并且:
内连接可以使用除等值条件外的其他条件,如大于、小于等。连接条件可以是多个,并且可以使用逻辑运算符组合。
等值连接的连接条件只能是两个表中的字段相等,即使用"="运算符进行比较。
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值。

