Erilaiset liitokset FROM-osassa voidaan määritellä relaatio myös erilaisia liitosoperaatioita käyttäen Vasen, oikea ja täysi puoliliitos eli ulkoliitos (OUTER JOIN) Esplisiittinen liitos (JOIN) Puoliliitoksilla on toisinaan käyttöä Eksplisiittinen liitos on käytännössä aina korvattavissa perusoperaatioilla Eksplisiittinen liitos on syntaktista sokeria
Puoliliitokset Ideana liittää kaksi taulua toisiinsa siten, että toisen puolen relaatiosta säilytetään kaikki rivit Käteviä tietyntyyppisissä kyselyissä
Vasen puoliliitos SELECT * FROM Henkilö LEFT OUTER JOIN Osasto ON OsastoId=Osasto.Id;
Oikea puoliliitos SELECT * FROM Henkilö RIGHT OUTER JOIN Osasto ON OsastoId=Osasto.Id;
Täysi puoliliitos SELECT * FROM Henkilö FULL OUTER JOIN Osasto ON OsastoId=Osasto.Id;
Puoliliitosten käytöstä Hae kaikki tuotteet, joita ei ole tilattu Hae kaikkien asiakkaiden nimet sekä heidän mahdollisesti tilaamiensa tuotteiden nimet Hae ne asiakkaat, jotka eivät ole tilanneet mitään
SQL: funktioita ja operaattoreita SQL sisältää koko joukon toisinaan hyödyllisiä funktioita ja operaatioita Merkkijonojen täsmäys ’abc’ LIKE ’a%’, ’abc’ NOT LIKE ’bc%’ Tyyppimuunnokset Esim. päivämäärä merkkijonoksi Muita funktioita MD5 Kannattaa tutustua käyttämänsä TKHJ:n manuaaliin
Merkkijonojen täsmäys LIKE mahdollistaa merkkijonojen osittaisen täsmäyksen Muotoa Merkkijono LIKE Hahmo % vastaa mitä tahansa merkkijonoa (myös tyhjää); ’lkjslkc’ LIKE ’%kc’ _ vastaa mitä tahansa merkkiä; ’kjdf’ LIKE ’__d_’ Valitse ne asiakkaat, joiden sukunimi alkaa H:lla
Tyyppimuunnokset Toisinaan tarpeen siirrettäessä dataa taulusta toiseen Muotoa CAST (Arvo AS Tyyppi) tai Arvo::Tyyppi CAST (’1’ AS INT) CAST (34876 AS TEXT) Pitkät merkkijonot katkaistaan, jos uuden tyypin pituus ei riitä
MD5 Salasanoja ei pitäisi säilyttää selkokielisinä, koska tietokanta saattaa joutua vääriin käsiin MD5-hajautusfunktio tuottaa avaimen, jonka perusteella salasanaa on vaikeaa keksiä Voidaan käyttää myös kryptausta SELECT Id FROM Asiakas WHERE Tunnus=’jaska’ AND Salasana=MD5(’lkj543’);