Oracle
 sql >> база данни >  >> RDS >> Oracle

Защо не можете да използвате OR или IN с операция OUTER JOIN?

Между другото, вие сте дефинирали вътрешно съединение там.

Като има клауза срещу дясната таблица, тя трябва да отговаря и на двата критерия.

SELECT p.Name, a.Attribute
FROM People p
LEFT OUTER JOIN Attributes a
ON p.PersonID = a.PersonID 
WHERE a.Attribute IN ('Happy','Grouchy') -- This means that the right side must exist also
AND p.person_id IN ('Elmo', 'Oscar') 

Или използвайте INNER JOIN, или преместете това WHERE в клаузата ON като И



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL конкатенация на редове по периоди

  2. SQL Server :еквивалент на RowVersion в Oracle

  3. Кога трябва да използвам Index Organized Table на Oracle? Или кога не трябва?

  4. 4 начина за форматиране на число без десетични знаци в Oracle

  5. LISTAGG в Oracle за връщане на различни стойности