SQL的子查询(subqueries)
用一个简单的例子来说明subqueries的应用。
现有两个表格,第一个表格名为student,第二个表格名为student_information。
第一个表格:
第二个表格:
两个表格有一含有相同数据的列student_num,用来表示学生学号。
那么老板布置了这么一个任务,请你找出名为Chris的同学的微信号。
要完成这个任务,有两个方法可以采用。第一个方法是使用两次SELECT语句,第二个方法是只用子查询。
第一个方法的具体步骤:
SELECT student_num
FROM student
WHERE student_name = 'Chris'; --首先找到Chris的学号,输出结果为202
SELECT student_wechat
FROM student_information
WHERE student_num = 202; --将上一部分代码的输出结果202作为WHERE的条件,输出结果为'Vector2043'
第二个方法的具体步骤(使用subqueries):
SELECT student_wechat
FROM student_information
WHERE student_num = (SELECT student_num
FROM student
WHERE student_name = 'Chris');
将查询student_num的SELECT语句作为子查询,放入WHERE语句的条件中,这样是不是就简单多了呢?