链接查询和分组查询

时间:2022-06-09 20:11:03

一,分组查询

1.使用GROUP BY 进行分组查询

   SELECT  列名 ,AVG(列名)AS 课程平均成绩 

   FROM 表名

   GROUP BY 列名

2.多列分组查询

  SELECT COUNT(*)AS 人数,列名 AS 年级,列名  AS 性别 

  FROM 表名 

  GROUP BY  列名

  ORDER BY 列名

二,使用HAVING子句进行分组筛选

       SELECT COUNT(*)AS 人数,列名 AS 年级

  FROM 表名

  GROUP BY 列名

  HAVING COUNT(*)>条件

三,多表链接查询

多表链接查询的分类

  1.内连接查询:是最典型,最常用的链接查询,它根据表*同的列来进行匹配。特别是两个表存在主外键关系时通常会使用内链接查询

  2.外连接查询:至少返回一个表中的所有记录,根据匹配条件有选择性地返回另一张表的记录外连接可以是:左外连接,右外连接

 

在  WHERE 子句中指定连接条件

SELECT Studentes.Sname,Score.CourseID,Score.Score

FROM Seudents.Score

WHERE Students.SCode=Score.StudentID

 

在FROM 子句中使用INNER JOIN ON

SELECT S.Sname,C.CouresID,C.Score

FROM Students AS S

INNER JOIN Score AS C ON (S.Scode=C.StudentID)

 

INNER JOIN :用来连接两个表

ON:用来设置条件

AS:指定表的别名

 

外连接查询

左外连接查询 :

SELECT S.Sname,C.CourseID,C.Score

FROM Students AS  S

LEFT OUTER JOIN Score AS C  ON S.Sode=C.StudentID

 

右外连接查询 :

SELECT  Titlse.Title_id,Titles.Title,Publisher.Pub_name

FROM Titles

RIGHT OUTER JOIN   Publisher ON  Titlse.Pud_id=Publishers.Pub_id

 

 

 

 

                                                                    完!