SQL 知识量:22 - 44 - 129
可以使用带聚集函数的联结,来增强查询的功能。例如:查询所有学生的信息和选课数量。
select s.*,count(c.id_lesson) as number from student as s left outer join course as c on s.id=c.id_student group by s.id order by s.id;
结果:
+----+--------+-----+--------+--------+ | id | name | age | sex | number | +----+--------+-----+--------+--------+ | 1 | Susan | 11 | female | 2 | | 2 | Jame | 12 | male | 2 | | 3 | Bob | 11 | male | 1 | | 4 | Robot | 10 | male | 3 | | 5 | Jen | 11 | female | 2 | | 6 | Toney | 10 | male | 2 | | 7 | Jack | 13 | male | 0 | | 8 | Alice | 10 | female | 0 | | 9 | Bonnie | 11 | male | 0 | | 10 | Ella | 12 | female | 0 | +----+--------+-----+--------+--------+
以上查询中,通过count()函数对学生的选课数量进行了统计,通过左外联结,包含了没有选课的学生信息,即number列为0的学生信息。
使用联结时需要注意的几点是:
根据需要选择合适的联结类型。
通过查看DBMS文档,确定正确的联结语法。
使用联结时,一定要保证应用正确的联结条件,否则结果一定是不准确的。
应该总是给出联结条件,否则结果永远是笛卡尔积。
可以同时使用多个不同的联结类型,合成使用前或排除错误时,应当逐个分别测试它们是否正确有效。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6