select customerId form Sales.Customers as C  ------ step 1
where not exists                           ----- step5
( select * from HR.Employees as E          -------step 2
      where country = 'USA'
      and not exists                           ------ step 4
     ( select * from Sales.Orders as O         ------ step3
       where O.customerId = C.customerId
          and O.employeeId = E.emploeeId
     ));
这个语句的执行顺序是我如上step步骤么?
谢谢。
数据库很久没碰,忘光了

解决方案 »

  1.   

    最先执行from
    然后where
    最后select
      

  2.   

    select   customerId   form   Sales.Customers   as   C     ------   step   1 
    where   not   exists                                                       -----   step5 
    (   select   *   from   HR.Employees   as   E                     -------step   2 
                where   country   =   'USA ' 
                and   not   exists                                                       ------   step   4 
              (   select   *   from   Sales.Orders   as   O                   ------   step3 
                  where   O.customerId   =   C.customerId 
                        and   O.employeeId   =   E.emploeeId 
              )); 
      

  3.   

    是说就是这么个顺序么?
    先对3条select语句处理,然后再按照二楼所说,表间的连接操作是按括号的由内到外依次进行的,输出是最后一步。
    谢谢