1 / 12

Mer om SQL-spørringer og funksjoner

Mer om SQL-spørringer og funksjoner. In 135 Datamodellering og Databaser. Logisk utføring av spørringer. Produktet av alle tabeller i FROM dannes WHERE blir utført for å eliminere rader som ikke fyller vilkåret Radene grupperes ved hjelp av kolonnene i GROUP BY

lilly
Download Presentation

Mer om SQL-spørringer og funksjoner

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mer om SQL-spørringer og funksjoner In 135 Datamodellering og Databaser

  2. Logisk utføring av spørringer • Produktet av alle tabeller i FROM dannes • WHERE blir utført for å eliminere rader som ikke fyller vilkåret • Radene grupperes ved hjelp av kolonnene i GROUP BY • Grupper som ikke tilfredsstiller having blir eliminert • Uttrykkene i SELECT beregnes • Dersom vi har SELECT DISTINCT blir duplikatrader eliminert • UNION gjøres etter at hver sub-select er beregnet • Radene sorteres i følge ORDER by (I virkeligheten optimaliseres det ved at en annen rekkefølge (2 før 1) blir brukt, men virkningen skal være den samme)

  3. Formatering av tall • to_char omdanner tall til streng. Du kontrollerer formatet med en formatstring to_char(1234) gir '1234' to_char(0.1415,'9.00') gir '.14' to_char(0.1415,'00.00) gir '00.14') to_char(3120)

  4. Du kan enten bruke en dato-litteral UPDATE EXAMPLESET BDAY=DATE '1980-6-13' Eller du kan bruke to_date funksjonen to_date tolker datoen som angitt i en format-string, se til høyre UPDATE EXAMPLE SET BDAY= TO_DATE(12.1,'DD.MM'); SELECT BDAY FROM EXAMPLE;BDAY12.01.2005 Å legge inn dato i et date-felt Når bare dag og måned er oppgitt, brukes årets år

  5. Å få ut dato med ønsket format • SELECT TO_CHAR(BDAY,'DD/MM/YY') FROM EXAMPLE; • 24/04/05 • SELECTTO_CHAR (BDAY,'MON DD. YYYY') FROM EXAMPLE; • APR 24. 2005 Hvordan får du vist datoensom år med fire siffer, ukenummer og ukedag? 17/SØNDAG Bruk fantasien! SELECT TO_CHAR(BDAY,'WW/DAY') FROM EXAMPLE;

  6. Numeriske funksjoner

  7. Aggregat- og listefunksjoner

  8. Datofunksjoner

  9. Eksempler • Å finne første dato i en kollonne • SELECT MIN(<kollonne>) FROM <table>; • Å finne dager mellom to datoer • SELECT dato2-dato1 AS varighet FROM ... • Å finne en dato 15 dager etter en dato • SELECT fakturadato+15 AS betalingsfrist ... • Å finne antall dager siden en hendelse • SELECT TRUNC(sysdate)-FDATO AS dager

  10. Strengfunksjoner

  11. Tre typer underspørringer: Verdispørring gir én verdi som resultat SELECT MAX(PRIS) FROM.. brukes i stedet for en verdi i WHERE-delen Kolonnespørring Gir én kolonne av verdier som resultat SELECT AKSJEKODE FROM AKSJE WHERE... Kan brukes i stedet for en liste i WHERE-delen Tabellspørring Gir én tabell som resultat Kan brukes i stedet for en tabell i FROM-delen SELECT AKSJEKODE, AKSJENAVN FROM AKSJE WHERE PE>12 Bruk av underspørringer Spørringer som slår sammen resultater UNION: Tabellspørring UNION Tabellspørringkrever at tabellene har samme kolonner og viser radene fra de to spørringene i én tabell. Underspørring er et trinn på veien SELECT X,Y, Z FROM <Tabellspørring>WHERE ... SELECT X,Y,ZFROM <tabell>WHERE X in <Kolonnespørring> SELECT X,Y,ZFROM <tabell>WHERE X=<Verdispørring> Underspørringer (subquery)

  12. Underspørringer (Subquery) • Underspørringer gjør det mulig å dele opp kompliserte spørringer i flere enkle spørringer (Splitt og behersk) • Arbeidet blir lettere med underspørringer • Med underspørringer, kan man arbeide trinnvis • Det er forskjell mellom databasemotorer når det gjelder mulighet for underspørring • Har du ikke underspørringer blir det vanskeligere å formulere kompliserte spørringer • View er et alternativ til underspørringer • Temporære tabeller er et annet alternativ til underspørring

More Related