23. marts 2007 - 21:59
Der er
11 kommentarer og 1 løsning
JOIN forklaring.
Hej E. har hidtil brugt denne sql: SELECT * FROM orders AS o INNER JOIN movies AS m ON o.movie_id = m.movie_id WHERE o.usr_session = '".session_id()."' order by title Faldt så over dette på nettet, og det virker præcist på samme måde: SELECT * from orders,movies where orders.movie_id=movies.movie_id and orders.usr_session='".session_id()."' order by title; Hvad er forskellen på de 2, og hvis man kan gøre det på den måde, hvad er JOIN så godt for ?
Annonceindlæg fra IBM
23. marts 2007 - 22:30
#1
Den nederste er også en join - de gør det samme. Man kan foretrække den øverste syntaks, fordi den fremhæver de felter der joines på.
23. marts 2007 - 22:49
#2
hvilket vil sige movie_id korrekt ?
23. marts 2007 - 22:52
#3
Hvilket vil sige hva'forno'et ??
23. marts 2007 - 22:53
#4
du siger den fremhæver de felter den joiner på... vil det ikke sige at den fremhæver movie_id ? ... where orders.movie_id=movies.movie_id ....
23. marts 2007 - 22:57
#5
For dem der læser sql-sætningen er det fremhævet. Sql-maskinen er inderligt ligeglad med hvilken den skal udføre.
23. marts 2007 - 22:57
#6
hmm okey.. tror bare jeg vælger den øverste så. ;)
23. marts 2007 - 23:03
#7
forresten smid et svar. :) (Ved godt du ikke samler, men gør det nu lige alligevel) ;)
23. marts 2007 - 23:22
#8
Nej tak ;)
23. marts 2007 - 23:23
#9
hmm :P
23. marts 2007 - 23:24
#10
men tak for hjælpen, var rart at få lidt info, når de slet ikke ligner hinanden osv. :D
23. marts 2007 - 23:26
#11
et hurtigt side spørgsmål.. Group by sortere IKKE, korrekt ?
23. marts 2007 - 23:53
#12
En "ORDER BY ..." sorterer, medens en "GROUP BY ..." grupperer.
Computerworld tilbyder specialiserede kurser i database-management