Programmeurs en database administrators gebruiken de Structured Query Language om databases en verslag over de informatie in hen te creëren . Een SQL-instructie kan complexe conditionele testen bevatten naar specifieke sets van gegevens uit tabellen in een database te selecteren . Een gecorreleerde subquery twee tests een genest in elkaar , elke test afhankelijk van het resultaat van de andere . SQL meeste moderne relationele databases nemen SQL voor het toevoegen en bijwerken van gegevens , het creëren van structuren en het verzamelen van informatie . SQL is gebaseerd op theorieën over data ontwikkeld in de jaren 1970 en voortdurend verbeterd sindsdien . Het bestaat uit een set instructies , waaronder SELECT , INSERT , maken en verwijderen , gevolgd door diverse clausules specificeren van de gegevens die worden beheerd en opties, zoals sorteren en groeperen . Het wijdverbreide gebruik van databases is te wijten aan SQL 's flexibiliteit en verfijning , het stelt organisaties complexe groepen gegevens te analyseren op vele manieren Queries en Subquery Een SQL-opdracht . om gegevens op te halen wordt een query genoemd , meestal , programmeurs gebruik maken van de SELECT-instructie voor queries , hoewel veel van de regels voor het zoeken van gegevens gelden ook voor INSERT , DELETE en UPDATE . Een eenvoudige SELECT-query kan de inhoud van een tabel met gegevens , zoals de volgende verklaring geven: SELECT * FROM inventaris ; Deze query geeft alle records in een tabel genaamd "inventaris . " je maakt de resultaten van een query meer specifiek door het toevoegen van conditionele testen , zoals in deze verklaring : SELECT * FROM inventaris WHERE warehouse_code = ' chicago5 ' ; deze query toont u alleen de inventarislijsten van het ene magazijn code , chicago5 . een subquery is een query in een andere query. De volgende verklaring lijsten inventarislijsten voor die items uit magazijnen in een bepaalde regio : SELECT * FROM inventaris WAAR warehouse_code IN ( SELECT warehouse_code FROM magazijnen WHERE regio = ' midwesten ' ) ; notitiekaarten die deze vraag heeft twee SELECT-instructies , een die inventarislijsten weergeeft , en een andere die de belangrijkste vraag met magazijn codes geeft . gecorreleerde Subquery In een gecorreleerde subquery , zowel hoofd- en ondergeschikte queries trekken gegevens uit dezelfde tabel . The inner query voert een statistische functie zoals een statistiek , en voert deze informatie aan de buitenste query die hij gebruikt als de basis van een vergelijking . Bijvoorbeeld , dit gecorreleerd subquery levert een lijst op van de inventarislijsten voor die items die de prijzen hoger dan gemiddeld een magazijn 's . De buitenste query- passeert de opslagplaats informatie aan de binnenste query en de inner query verstuurt de gemiddelde prijs terug naar de buitenste vraag : SELECT part_number , prijs , warehouse_code FROM inventaris i1 WAAR prijs > ( SELECT AVG ( prijs ) FROM inventaris i2 WAAR warehouse_code.i1 = warehouse_code.i2 ) ; " . i2 " de twee queries gebruik tabelaliassen " i1 " en hoewel ze verwijzen naar dezelfde tafel , met behulp van aliassen kan de query om het te behandelen als twee aparte entiteiten . performance onderwerpen gecorreleerde subquery , SQL evalueert de inner query eenmaal voor elke record in de buitenste query. Zoals tafel maten groter worden , het proces duurt langer . Als u vindt dat een gecorreleerd subquery neemt een buitensporige hoeveelheid tijd te voltooien , kunt u overwegen een alternatief , zoals het laden van een tijdelijke tabel met tussentijdse resultaten , dan is het verwerken van de tijdelijke tabel direct tegen de hoofdtabel met een eenvoudige subquery . Hoewel minder elegant , kan het aanzienlijk sneller te bewijzen .
|