Veldig offtopic om SQL..

Det er god trening å prate matematikk. Her er det fritt fram for alle. Obs: Ikke spør om hjelp til oppgaver i dette underforumet.

Moderatorer: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa

Svar
Zoiros
Cauchy
Cauchy
Innlegg: 202
Registrert: 19/05-2007 00:18
Sted: Oslo (Bodø)

Dette er VELDIG off topic. Men sitter med en gammel informatikk eksamen. Det er snakk om SQL og fasiten sier at:

Kode: Velg alt

SELECT totutlaanvarighet AS SUM(varighet) 
FROM Utlån 
WHERE ab_nr = 'gitt_ab_nr";
mens jeg mener at det skal stå:

Kode: Velg alt

SELECT SUM(varighet) AS totutlaanvarighet 
FROM Utlån 
WHERE ab_nr = 'gitt_ab_nr";
Altså bytte om på det som står på hver side av "AS"... Eller har det kanskje ikke noe å si?

Det er oppgave 3 e) her:
http://www.ifi.uio.no/studinf/eksamen/e ... nsveil.pdf

(står fasitsvar også)

Så hvis noen har peiling på SQL hadde jeg vært veldig takknemmelig hvis dere har noe input. :D
aadnk
Pytagoras
Pytagoras
Innlegg: 8
Registrert: 09/06-2007 17:46

Det er mulig dette varierer fra ulike SQL-implementasjoner, men meg bekjent brukes AS-operatoren/kommandoen når en ønsker å navngi felt som skal selekteres, og ikke hvilken funksjon det dynamiske feltet skal evaluere. Jeg vil derfor tro du har rett i at sistnevnte spørring er den korrekte måten. Ellers ville jo standardmetoden for å telle antall rader, SELECT COUNT(*) FROM Utlån, ikke fungert (med mindre syntaksen var definert annerledes om AS ikke er tilstede, men det virker urealistisk).

Men, hva med å kjøre disse spørringene i relasjonsdatabasesystemet og se hvilken som fungerer? Det burde jo avgjøre saken en gang for alle.
Zoiros
Cauchy
Cauchy
Innlegg: 202
Registrert: 19/05-2007 00:18
Sted: Oslo (Bodø)

Hehe.. var i anleding xamens forberedelser. Orket ikke stresse med det da. Gikk greit på xamen og tror nok vi skal konkludere med at vi har rett.
EulersPath
Pytagoras
Pytagoras
Innlegg: 7
Registrert: 18/03-2007 23:24

Dere har selvsagt rett. Nøkkelordet "AS" brukes i SQL for å gi atributter/kolonnenavn andre navn (når de skal vises frem) enn de opprinnelig har. Det vil derfor være svært ulogisk å gi et attributt av navnet 'totutlaanvarighet' navnet 'SUM(varighet)'. Slik jeg ser det må man bytte om, slik du har gjort i den siste.

God jobb.
Leonhard Euler har talt
Svar