Hur använder man följande nyckelord i SQL? Har inte hittat info om dem någonstans.
INTERSECT
MINUS
EXCEPT
NOT EXISTS
------------------
---
/* LilleSkutt */
3 svar · 207 visningar · startad av LilleSkutt
Hur använder man följande nyckelord i SQL? Har inte hittat info om dem någonstans.
INTERSECT
MINUS
EXCEPT
NOT EXISTS
------------------
---
/* LilleSkutt */
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.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 28 nov 2001]
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? :)
------------------
---
/* LilleSkutt */
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)
------------------
essentitia preter non sans multiplicandum