SELECT customers.CustomerNumber, orders.Amount
FROM customers, orders
WHERE customers.CustomerNumber*=orders.CustomerNumber
AND orders.Amount>600这个查询语句中的第三行中的星号是什么意思?不加星号和加星号有什么区别?

解决方案 »

  1.   

    --带*
    from customers left outer join orders
    on customers.CustomerNumber=orders.CustomerNumber--不带*
    from customers inner join orders
    on customers.CustomerNumber=orders.CustomerNumber--分别与以上等同
      

  2.   

    *= 左连接
    =* 右连接
    有时,该语法会导致有多种解释的不明确查询。建议遵从 SQL-92 的外部联接标准写法
      

  3.   

    在早期的 Microsoft® SQL Server™ 2000 版本中,使用 *= 和 =* 在 WHERE 子句中指定左、右外部联接条件。
    有时,该语法会导致有多种解释的不明确查询。FROM 子句中指定遵从 SQL-92 的外部联接,不会导致上述不确定性。
    SQL2000以后的版本可能不再支持该语法。任何使用 Transact-SQL 外部联接的语句都应改为使用 SQL-92 语法。