“select ... from A inner join A ....”这个语句中前一个A与后一个A是不同的视图,就好像同一个可执行程序两次运行,那么在内存中就有这同一程序的两个影像——进程。因此,操作第一个视图与操作第二个视图是不同的、独立的、不相关的。查询连接是工作“动态”环境中视图的,不要因为静态定义中的概念而自相烦恼。
USE pubs
SELECT au1.au_fname, au1.au_lname, au2.au_fname, au2.au_lname
FROM authors au1 INNER JOIN authors au2
ON au1.zip = au2.zip
WHERE au1.city = 'Oakland'
ORDER BY au1.au_fname ASC, au1.au_lname ASC