Subquery zijn queries genest binnen een andere query . Subquery kunt u elk deel van de verklaring scheiden en zorgen voor een meer leesbare alternatief voor het uitvoeren van bewerkingen die complexe zou vereisen sluit zich en de vakbonden zonder subquery . MySQL subquery kan een enkele waarde , enkele rij , kolom of een tabel retourneren . De Syntax De basis syntax voor een subquery is dit : SELECT * FROM tabel WHERE columna = ( SELECT columnb FROM table2 ) ; Subquery moet een sELECT , INSERT , UPDATE , DELETE , SET of DO statement , en u kunt een tabel niet wijzigen en selecteer uit het in de subquery . subquery zijn meestal te vinden aan de rechterkant van de WHERE-component , die kan elke bevatten van de volgende vergelijking en logische operatoren : = ( gelijk ) , < > ( ongelijk ) , < = ( kleiner dan of gelijk ) , > = ( groter dan of gelijk ) , < ( kleiner dan ) , > , ( groter dan ) , tUSSEN ( waarde ligt tussen de twee waarden ) NOT ( logische NOT ) , EN ( logische AND ) , OR ( logische OR ) . Ze kunnen ook bevatten de DISTINCT , GROUP BY , ORDER BY en LIMIT trefwoorden . Ze kunnen ook worden gebruikt in combinatie met JOIN statements . Anders dan de bovenstaande beperkingen , er zijn zeer weinig beperkingen gelegd op subquery binnen MySQL . Er is zelfs een beperking van het aantal subquery die gevonden kunnen worden in een statement . Zolang je plaatst elke subquery tussen haakjes , kunt u net zoveel geneste queries als u nodig hebt om uw gegevens te vinden . Meer informatie over subqueries is te vinden in de MySQL handleiding ( zie bronnen ) Voorbeeld Stel dat u twee tabellen : . Eerste bevat de Voornaam, naam , Straat en huisnummer en postcode van de leden van uw mailinglijst , de tweede bevat stad , staat en postcode . Als je wilde de namen van de leden die in Georgië wonen vinden , kan je gebruik maken van meerdere select statements . De eerste verklaring zou zijn om de postcodes te vinden voor Georgië : SELECT zip FROM postcode WHERE status = " GEORGIË " ; Dan zou je een select statement voor elke postcode terug te geven : < br > SELECT fname , lname FROM adres WAAR zip = " [ postcode ] " ; die methode is zeer tijdrovend en foutgevoelig . Het is gemakkelijk om een postcode te missen , vooral als er veel van hen Een eenvoudigere manier om uw taak te voltooien zou zijn om de eerste verklaring als een subquery naar de tweede verklaring: . SELECT fname , lname FROM adres WHERE zip = ( SELECT zip FROM postcode WHERE status = " GEORGIË " ) ; . Deze vraag zal alle leden van uw mailinglijst die in Georgië wonen met een vraag terug < br >
|