SQL使用as起别名,既什么又什么

    科技2022-07-16  103

    查询要求

    查找 既学过2号课程 又学过3号课程的同学的 学号 数据库表如下

    SQL代码

    SELECT s1.StudentNumber FROM SC s1, SC s2 WHERE s1.courseNumber = 002 AND s2.courseNumber = 003 AND s1.StudentNumber = s2.StudentNumber

    查询结果

    总结

    容易错写成

    SELECT StudenNumber FROM SC WHERE courseNumber = 2 and courseNumber = 3

    上面的查询语句得到的结果是空,因为一个courseNumber不可能既等于2又等于3, 这涉及到了在反复在一个表中查询

    SELECT s1.StudentNumber FROM SC as s1, SC as s2 WHERE s1.courseNumber = 002 AND s2.courseNumber = 003 AND s1.StudentNumber = s2.StudentNumber

    使用as起别名的方式,对同一个表其不同的别名,来对一个表内的数据反复查询, 通过使用s1.StudentNumber = s2.StudentNumber将两个表连接起来。

    Processed: 0.014, SQL: 8