sql >> Databasteknik >  >> RDS >> Oracle

Varför kan du inte använda OR eller IN med en OUTER JOIN-operation?

Du har förresten definierat en inre koppling där.

Genom att ha en klausul mot den högra tabellen måste den uppfylla båda kriterierna.

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') 

Använd antingen INNER JOIN eller flytta denna WHERE till ON-satsen som en AND



  1. Välj och infoga i flera databaser med MySQL

  2. Skapa en användare med alla rättigheter i Oracle

  3. Hur kan jag söka efter en lista med ord i en tabell med ord som associeras med en annan tabell?

  4. FEL 1030 (HY000) på rad 25:Fick fel 168 från lagringsmotorn