1、多表联合查询
1)内连接
作用:将两个表合并到一起,从中查询自己想要的字段
语法: select 表1.字段名1, 表2.字段名2,... from 表1 inner join 表2 on 表1.连接字段 = 表2.连接字段
SELECT `学生`.`姓名`,`学生`.`学号`,`学生`.`性别`,`班级`.`班主任`, `班级`.`班长`,`班级`.`教室` FROM `学生` INNER JOIN `班级` ON `学生`.`班号` = `班级`.`班号` WHERE 姓名='张三'
2) 左连接与右连接
左连接:连接表左边的为主表。与主表对应的从表如果没有记录的话,以null 填充
语法: select 表1.字段名1, 表2.字段名2,... from 表1 left join 表2 on 表1.连接字段 = 表2.连接字段
例:
SELECT `学生`.`姓名`,`学生`.`学号`,`学生`.`性别`,`班级`.`班主任`, `班级`.`班长`,`班级`.`教室` FROM `学生` LEFT JOIN `班级` ON `学生`.`班号`=`班级`.`班号`
3) 多表连接查询
SELECT
`选修`.`成绩`,
`学生`.`姓名`,
`学生`.`学号`,
`课程`.`课程名`
FROM
`选修`
LEFT JOIN `学生` ON `选修`.`学号`=`学生`.`学号`
LEFT JOIN `课程` ON `选修`.`课程编号` = `课程`.id
WHERE 姓名='郭辉'
2、统计函数
2.1) count() 统计
SELECT count(*) FROM caijing2016 WHERE title LIKE '%总经理%' ORDER BY id ASC
2.2 min() 和 max()
SELECT max(成绩) FROM `选修`
2.3 sum() 求和 和 avg() 求平均数
SELECT avg(成绩) FROM `选修`