0
私は比較的SQLで初心者であり、Oracleの完全な初心者であり、(+)構文の理解が難しいです。次のクエリを考えてみます。Oracleの外部結合(+)構文
SELECT *
FROM CustomerShip,
(SELECT DISTINCT b.ShipSeq AS shipSeq
FROM Orders a,
CustomerShip b
WHERE a.OrderId IN (SELECT OrderId
FROM Orders
WHERE CustomerId = @CustomerId
AND OrderType <> 'A')
AND b.CustomerId = @CustomerId
AND b.ShipSeq = a.CustShip
AND OrderStatus <> 'C'
GROUP BY b.ShipSeq) i
WHERE CustomerId = @CustomerId
AND (Address NOT LIKE '%RETAIL%STORE%')
AND ShipSeq = i.ShipSeq(+)
ORDER BY ShipTo DESC, OrderDate DESC;
だから私は、Oracleに(+)集まるouter join
ですが、私は上参加しているされているもの困惑していますか?内部クエリi
の結果。 MSSQL
のこのクエリを書き直す必要があり、そのように見えるかどうかわからないのですか?
"私は比較的新しいSQLです"。 。 。さて、時代遅れの古い構文を学ばないでください。明示的な外部結合を使用することをお薦めします。 –
私はそうではありません。私はしばらく前に書かれたクエリを修正しています。 – PixelPaul