1234567891011121314151617181920212223242526272829303132333435363738 |
- WHERE vs HAVING:
- WHERE er individuelle rader, HAVING er en condition på alle radene
- SELECT ... WHERE a = b; er alle radene hvor a = b
- SELECT ... HAVING; opererer på aggregatene man får med GROUP BY
- SELECT ... HAVING COUNT(*) > 5; gir mening,
- SELECT ... WHERE COUNT(*) > 5; gir ikke mening - COUNT opererer på
- et aggregat av rader, WHERE bare på en rad
-
- WHERE kan brukes med SELECT, INSERT, og UPDATE, HAVING bare med SELECT
-
- JOIN:
- INNER JOIN:
- SELECT a FROM tabell1
- INNER JOIN tabell2
- ON tabell1.foo = tabell2.foo;
-
- "INNER JOIN" kan også skrives som "JOIN".
- Finner alle rader i begge tabeller hvor tabell1.foo = tabell2.foo.
-
- LEFT JOIN:
- som INNER JOIN, men med LEFT JOIN
-
- Finner alle rader i begge tabeller hvor tabell1.foo = tabell2.foo,
- eller tabell2.foo = NULL
-
- RIGHT JOIN:
- som LEFT JOIN, men med RIGHT JOIN.
-
- Finner alle rader i begge tabeller hvor tabell1.foo = tabell2.foo,
- eller tabell1.foo = NULL
-
- FULL OUTER JOIN:
- SELECT a FROM tabell1
- FULL OUTER JOIN tabell2
- ON tabell1.foo = tabell2.foo
-
- Finner alle rader i begge tabeller hvor tabell1.foo = tabell2.foo,
- eller tabell1.foo = NULL, eller tabell2.foo = NULL
|