Avatar billede foxmulder58 Praktikant
14. januar 2006 - 15:41 Der er 19 kommentarer og
1 løsning

SQl sætninger forklaringer

Hej eksperter,

jeg vil gern have hjælp til følgende 3 SQL-sætninger:

1.


SELECT film.titel AS film_titel, film.instruktør, film.handling, film.premiereinfo, film.årstal, film.produktionsland, film_genre.genrenavn, film_skuespillere.titel AS film_skuespillere_titel, film_skuespillere.navn
FROM (film INNER JOIN film_genre ON film.titel=film_genre.titel) INNER JOIN film_skuespillere ON film.titel=film_skuespillere.titel;










2.

SELECT film_skuespillere.navn, film.titel, film.instruktør, film.premiereinfo, film.årstal, film.produktionsland
FROM film INNER JOIN film_skuespillere ON film.titel = film_skuespillere.titel;






3.

SELECT film.produktionsland, film.titel, film.årstal
FROM film;






Og hvad betyder INNER_JOIN ?



mvh
Mads
Avatar billede lordnelson Seniormester
14. januar 2006 - 16:40 #1
Select betyder Vælg
film_skuespiller er et felt i tabellen film.titel
osv

Inner_Join er en relation imellem 2 tabeller
altså den skal kun vise felter fra den ene tabel
hvis der også i den anden tabel er et felt der er det samme
Så  FROM (film INNER JOIN film_genre ON film.titel=film_genre.titel) INNER JOIN film_skuespillere ON film.titel=film_skuespillere.titel;

her skal de felter der er nævnes være ens værdier ellers vises de ikke

Ln
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 16:45 #2
Hvad betyder "AS" i følgende sætning så:


SELECT film.titel AS film_titel



mvh
mads
Avatar billede lordnelson Seniormester
14. januar 2006 - 16:48 #3
Den vælger feltet  film.titel i tabellen
og giver den et andet navn film_titel da' der
i din sætning findes flere  film.titel  på den måde
skilles de ad. det kaldes agså et alias

Ln
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 16:54 #4
Det forstår jeg ikke helt.

Tabelnavne er jo alle forskellige?


mvh
mads
Avatar billede jens_klinting Nybegynder
14. januar 2006 - 16:54 #5
Det betyder at aliaset film_titel anvendes for kolonnen film.titel.

De records du får ud v.h.a. ovenstående SELECT indeholder en kolonne, der hedder film_titel istedet for titel. Indholdet af de enkelte records er stadig det samme, det er blot et spørsmål om at kolonnen hedder noget andet.

Endvidere kan aliaset bruges i resten af queryen:

SELECT film.titel AS film_titel FROM film WHERE film_titel LIKE 'Star Wa%'

svarer til:

SELECT film.titel AS film_titel FROM film WHERE film.titel LIKE 'Star Wa%'
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 16:57 #6
den omdøber altså min film_titel til film.titel ?
Avatar billede jens_klinting Nybegynder
14. januar 2006 - 17:14 #7
Njarh, film_titel er et alias, som den resolver til film.titel i forbindelse med udførslen af queryen. Den retter ikke i din SQL.
Avatar billede lordnelson Seniormester
14. januar 2006 - 17:53 #8
Næ omvendt
den omdøber  film.titel  til  film_titel

hvis du har et recordset i din asp feks. rs
og du skal se hvad der er i feltet
kan du se det med rs("fim_titel") og ikke rs(" film.titel")

Ln
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 19:22 #9
Nå sådan, men jeg kan også se det i den formular der er lavet der står det som film_titel istsedet for film.titel.


Jeg er dog ikke helt med på hvad formålet skulle være med dette?


Mvh
Mads
Avatar billede hmortensen Nybegynder
14. januar 2006 - 22:16 #10
Et alias bruges til at fange feltet med et mere brugervenligt navn.
Avatar billede hmortensen Nybegynder
14. januar 2006 - 22:17 #11
Og hvis der laves en beregning:

SELECT felt1, felt2, felt1 + felt2 AS sammenlagt FROM tabel
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 22:20 #12
Hej HMmortensen,

Har du mod på at gennemgå relationer i en databse med mig?

Så opretter jeg lige en tråd med et problem jeg har?.


Mvh
mads
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 22:20 #13
PS! AS=alias  i SQL er det korrekt?
Avatar billede hmortensen Nybegynder
14. januar 2006 - 22:24 #14
Ja, korrekt.

Hvis du har andre problemer, kan du bare poste dem her, så kan vi se om vi kan løse det.
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 22:26 #15
Jeg kunne godt tænke mig at gå igennem min relationer hvilke der er stærk/svage entiter men det kræver du ser min database.


mvh
Mads
Avatar billede hmortensen Nybegynder
14. januar 2006 - 22:29 #16
Du kan da tage et screenshot af dine relationer og poste et link til det.
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 22:31 #17
ja ok hæng lige på et par minutter.
Avatar billede foxmulder58 Praktikant
14. januar 2006 - 22:39 #18
Den er her på URL:

http://www.netau.hotserv.dk/relationer/


mvh
mads
Avatar billede foxmulder58 Praktikant
18. januar 2006 - 09:38 #19
nå, Hmortensen smider du et svar?

mv
mads
Avatar billede foxmulder58 Praktikant
24. januar 2006 - 15:13 #20
ja dem tager jeg selv så.

/mads
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester