Forum » Server-Side scripting » Wie gebruikt er...?
Informatica Student
Berichten: 1406
avatar
Online Stuur privebericht
Hallo,

Ik had eerder een topic gestart over wie er allemaal aan OOP deed. Ik vond dat het uiteindelijk een interessante topic werd.

Nu wil ik een discussie starten rondom de Join functie van MySQL.

Wat doet deze functie?
Hierbij kan je informatie ophalen uit meer dan één tabel tegelijk en/of een bepaalde row selecteren aan de hand van één of meerdere tabellen in één query.
Het voordeel? Minder werk en minder load voor de database aangezien je maar één query doet in plaats van meerdere.

Ikzelf heb vandaag het eens geprobeerd na lange tijd. Het werkt erg fijn. Het scheelt inderdaad extra werk. Maar ik vind de documentatie wel lastig en niet overzichtelijk. Ik ben zelf dus eigenlijk ook een beetje "nieuw" op dat gebied al ken ik de functie wel.

Nu is dus mijn vraag:
- Gebruik je het?
- Zo nee, waarom niet? Zo ja, waarom wel?
- Kende je deze functie?
- Indien je deze niet kende, ga je er naar kijken?
04-06-2011 01:06
Dit topic is 395 keer bekeken door 75 verschillende leden
Reacties op: "Wie gebruikt er...?"
1
Berichten: 866
avatar
Online Stuur privébericht
Ik gebruik het nog niet, omdat ik het nog niet goed heb bekeken hoe en waar ik het goed kan gebruiken.

Ik kende de functie wel en vond hem geniaal!
04-06-2011 07:07
Berichten: 2123
avatar
Offline Stuur privébericht
JOIN is maar een van de vele krachtige functionaliteiten van SQL. Belangrijk is dat er verschillende soorten JOIN's bestaan, wat het beste is toe te lichten aan de hand van een voorbeeld:

SELECT * FROM linker [JOIN] rechter ON linker.voorwaarde = rechter.voorwaarde

Als op de plek van [JOIN] staat:
- INNER JOIN: Join alle rijen van linker met alle rijen van rechter waarvoor linker.voorwaarde gelijk is aan rechter.voorwaarde.
- RIGHT OUTER JOIN: Selecteer alle rijen van rechter, en join deze waar mogelijk met linker. Wanneer er geen join wordt gevonden wordt het record uit rechter wel toegevoegd aan het eindresultaat, met NULL waarden voor de kolommen uit linker.
- LEFT OUTER JOIN: Selecteer alle rijen van linker, en join deze waar mogelijk met rechter. Wanneer er geen join wordt gevonden wordt het record uit linker wel toegevoegd aan het eindresultaat, met NULL waarden voor de kolommen uit rechter.
04-06-2011 09:51
Luc
devow.nl
Berichten: 1592
avatar
Offline Stuur privébericht
Ik gebruik joins al 3 kwart jaar. Vindt ze erg handig werken en heb er zelfs artikelen over geschreven die naar mijn mening lekker duidelijk zijn.

Verder kan je met JOINS ook extra selecten uitvoeren binnen een JOIN.

Code | Selecteer Alles
minimaliseren
1
2
mysql_query("SELECT user.id FROM user 
INNER JOIN(SELECT profile.id ON(user.id=profile.userID))"
);


Dit is even snel geschreven en niet getest of het zo klopte maar volgens mij werkte het zo met extra SELECT.

Groeten,

Luc
04-06-2011 13:26
Informatica Student
Berichten: 1406
avatar
Online Stuur privébericht
Waar kan ik het artikel lezen?
04-06-2011 13:31
Berichten: 26
avatar
Offline Stuur privébericht
Ik heb t laast voor t eerst leren gebruiken en Killingdevil heeft precies de uitleg gegeven die ik nodig had
04-06-2011 14:11
Berichten: 22
avatar
Offline Stuur privébericht
Ik gebruik het. Waarom behoeft geen uitleg zeker? Minder querys is op een pagina is beter.. En ik kende de functie inderdaad al.

Iedereen die het nog niet kent raad ik dan ook aan er gewoon eens naar de te kijken, gewoon weg omdat het bij grote websites duidelijk merkbaar is wanneer er goed of slecht naar de databasestructuur gekeken is.
05-06-2011 14:14
Berichten: 683
avatar
Offline Stuur privébericht
Ik gebruik ook een lange tijd join. Tis veel handiger (vind ik). Miss heb hier hier wat aan:

http://www.tizag.com/sqlTutorial/sqljoin.php
05-06-2011 19:43
Reageer op: "Wie gebruikt er...?"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden