Sök…


delfrågor

En undersökning är en fråga i en annan SQL-fråga. En underfråga kallas också inre fråga eller inre markering och uttalandet som innehåller en underkurs kallas en yttre fråga eller yttre markering.

Notera

  1. Underfrågor måste bifogas inom parentes,
  2. En ORDER BY kan inte användas i en undersökning.
  3. Bildtypen som BLOB, matris, textdatatyper är inte tillåtna i undersökningar.

Underfrågor kan användas med att välja, infoga, uppdatera och ta bort uttalanden inom varifrån, välj klausul tillsammans med IN, jämföringsoperatörer, etc.

Vi har en tabell med namnet ITCompanyInNepal där vi kommer att utföra frågor för att visa exempel på underfrågor:

ange bildbeskrivning här

Exempel: SubQueries With Select Statement

med In- operatör och där klausul:

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

med jämförelseoperatör och var klausul

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

med välj klausul

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

Underfrågor med infoga uttalande

Vi måste infoga data från IndianCompany-tabellen till ITCompanyInNepal. Tabellen för IndianCompany visas nedan:

ange bildbeskrivning här

INSERT INTO ITCompanyInNepal
SELECT * 
FROM IndianCompany

Underfrågor med uppdateringsförklaring

Anta att alla företag vars huvudkontor är USA beslutade att skjuta upp 50 anställda från alla USA-baserade företag i Nepal på grund av en viss förändring i de amerikanska företagens politik.

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

Underfrågor med raderingsdeklaration

Anta att alla företag vars huvudkontor är Danmark beslutade att stänga av sina företag från Nepal.

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow