如果你有两个存在它是如何工作的?

时间:2017-03-01 07:02:54

标签: mysql

我正在分析的查询如下。我想了解第二个EXISTS如何在这里工作。我的理解是否正确?如果没有,请解释我:

     
  1. 查询会查看select cust_nofrom customers C1
  2. 中的每条记录  
  3. 针对第一个NOT EXIST查询检查第一条记录,以确保它不存在。如果它不存在,则返回TRUE,否则返回FALSE。如果TRUE继续针对第二个NOT EXIST查询进行检查,并返回TRUEFALSE
  4. SELECT cust_no
    FROM customers C1
    WHERE NOT EXISTS (
        SELECT *
        FROM orders, order_details OD1
        WHERE orders.order_no = OD1.order_no
              AND orders.cust_no = C1.cust_no 
              AND NOT EXISTS (
                SELECT *
                FROM products
                WHERE OD1.prod_cod = products.prod_cod 
                      AND products.prod_cod = 'STAND'
              )
    )
    

0 个答案:

没有答案