Zoeken…


Subzoekopdrachten

Een subquery is een query binnen een andere SQL-query. Een subquery wordt ook binnenquery of inner select genoemd en de instructie die een subquery bevat, wordt een buitenquery of outer select genoemd.

Notitie

  1. Subquery's moeten tussen haakjes worden geplaatst,
  2. Een ORDER BY kan niet worden gebruikt in een subquery.
  3. Het afbeeldingstype zoals BLOB, array, tekstdatatypes zijn niet toegestaan in subquery's.

Subquery's kunnen worden gebruikt met select-, insert-, update- en delete-statement waarbinnen, van, selecteer clausule samen met IN, vergelijkingsoperatoren, etc.

We hebben een tabel met de naam ITCompanyInNepal waarop we query's uitvoeren om voorbeelden van subquery's te tonen:

voer hier de afbeeldingsbeschrijving in

Voorbeelden: SubQueries With Select Statement

met operator In en waar clausule:

SELECT *
FROM ITCompanyInNepal
WHERE Headquarter IN (SELECT Headquarter 
                      FROM ITCompanyInNepal
                      WHERE Headquarter = 'USA');

met vergelijkingsoperator en waar clausule

SELECT *
FROM ITCompanyInNepal
WHERE NumberOfEmployee < (SELECT AVG(NumberOfEmployee) 
                          FROM ITCompanyInNepal
                      )

met select clausule

SELECT   CompanyName,
         CompanyAddress,
         Headquarter,
         (Select SUM(NumberOfEmployee)
         FROM ITCompanyInNepal
         Where Headquarter = 'USA') AS TotalEmployeeHiredByUSAInKathmandu
FROM     ITCompanyInNepal 
WHERE    CompanyAddress = 'Kathmandu' AND Headquarter = 'USA'

Subquery's met invoeginstructie

We moeten gegevens uit de IndianCompany-tabel invoegen in ITCompanyInNepal. De tabel voor IndianCompany wordt hieronder weergegeven:

voer hier de afbeeldingsbeschrijving in

INSERT INTO ITCompanyInNepal
SELECT * 
FROM IndianCompany

Subquery's met update-instructie

Stel dat alle bedrijven met het hoofdkantoor in de VS hebben besloten om 50 werknemers van alle in de VS gevestigde bedrijven in Nepal te ontslaan vanwege een wijziging in het beleid van Amerikaanse bedrijven.

UPDATE ITCompanyInNepal
SET NumberOfEmployee = NumberOfEmployee - 50
WHERE Headquarter IN (SELECT Headquarter 
                      FROM ITCompanyInNepal 
                      WHERE Headquarter = 'USA')

Subquery's met verwijderinstructie

Stel dat alle bedrijven met het hoofdkantoor in Denemarken hebben besloten hun bedrijven uit Nepal te sluiten.

DELETE FROM ITCompanyInNepal
WHERE Headquarter IN (SELECT Headquarter 
                     FROM ITCompanyInNepal
                     WHERE Headquarter = 'Denmark')


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow