这些SQL语句在功能上是否相同?

时间:2013-01-23 10:56:10

标签: sql oracle join subquery

我正在进行一些SQL优化,但我的SQL fu可以使用一些改进......

为什么在子查询上加入,这可能只是一个直接的内连接,还是我错过了什么?

        -- Why do a join and a subquery?
        -- INNER JOIN  (
        --          SELECT client_id, session_id, id, customer_id, validity, machine_id, 
        --                  utc_date_completed, itemStatus, totalValue, utc_date_updated, 
        --                  itemValue, itemId, itemName, customField1, customField2, itemPage, itemCurrency
        --          FROM data.dashboard WITH(NOLOCK)
        --          WHERE client_id = @client_id
        --          ) d  ON cm.client_id = d.client_id

        INNER JOIN data.dashboard AS d ON cm.client_id = d.client_id AND d.client_id = @client_id 

1 个答案:

答案 0 :(得分:1)

是的,功能上它们是相同的,你应该有更好的表现INNER JOIN。检查执行计划的性能。

它更具可读性和可维护性。