多表查询里最常见的用法就是内连接,你要是还在绕着 WHERE
条件写关联,那就太低效了。ttStudents 和 ttSc 两张表用 INNER JOIN
绑一绑,查成绩信息分分钟的事。
比较实用的是用 AS
起别名,比如 ttSc AS C
,这样写 SQL 简洁多,逻辑也更清晰。像下面这样:
SELECT tS.SName, C.CourseID, C.Grade
FROM ttSc AS C
INNER JOIN tStudents AS S ON C.StudentID = S.SNo
一眼就能看出在查谁、连哪表、取什么字段,改起来也方便。哦对了,字段顺序不一样,查询结果一样不一样?你可以自己试试。其实字段顺序不会影响结果内容,但语义上更清晰的写法总是更好维护。
还有个小坑,
ON
后的条件别写错了,像漏了等号那种写法,MySQL 是不报错的,但结果会跑偏,得多留意。如果你对 SQL 的
SELECT
和连接还不太熟,推荐几个蛮实用的教程,点进去看看也挺有收获的。