from后面跟select语句原来是这个意思

在工作中碰到这样一种sql写法:select id,name from (select id,name from student where name = '') as s;一直没有明白其中from后面子查询的意思,今天特意找资料看了看,将心得写下来:

        其实就是把子查询的结果作为一个表,供你的外边的查询语句使用,这个你所指的子查询里面所有的查询结果字段就是你外面SELECT的范围。


    FROM 后边的都是表名,你不要当成这个是子查询,只把这当成一张表就好了。只不过这个表的数据不是你平时理解的那种固定的表,而是通过一个查询来构建出来的。这个表的数据就是这个查询查出来的结果。
例如SELECT T.EMP_ID, T.EMP_NAME
FROM (SELECT EMP_ID, EMP_NAME FROM TB_EMP WHERE DEPT_ID = '10001') T
这个语句,这个子查询,你就理解成是一个表,即表T。T表的字段就是查询里面的字段,你可以拿出来用的。


你可能感兴趣的:(sql)