Frågan 28 nov. 2001 10:44 #1 Hur använder man följande nyckelord i SQL? Har inte hittat info om dem någonstans.
INTERSECT
MINUS
EXCEPT
NOT EXISTS
L LarsG Medlem sedan dec. 2000 12 464 inlägg Intersect snittet mellan två mängder
select * from A
intersect
select * from B
De som finns i både A och B
Minus Mängd a - mängd b
select * from A
minus
select * from B
De som finns i A men inte i B
Except är som minus (minus är inte sql-standard
Exists
select * from A
where not exists (select * from B)
returnerar alla poster i A om B är tom
Man använder oftast exists i samband med korrelerade frågor.
Tack!
Jag förstod allt utom det där med NOT EXISTS... Om jag har tre tabeller, Loaners, Loans och Staff, och jag vill ta fram namnet på de Loaners som har Loanat en bok av samtliga i Staff - och jag ska använda mig av NOT EXISTS, hur går jag till väga?
L LarsG Medlem sedan dec. 2000 12 464 inlägg Det låter väldigt mycket som en kursuppgift.
select * from loaners as l
where not exists
(select name from staff
except
select loaned_from from loans
where loaned_by = l.name)