Subinterogarilor, sau interogări imbricate în MySQL

interogări imbricate sunt cereri care sunt localizate în alte interogări, cum ar fi SELECT, INSERT, UPDATE sau DELETE. În plus, subinterogările MySQL pot fi amplasate în interiorul altor subinterogări.







Ca un exemplu ilustrativ, să ne uităm la următoarea interogare imbricată care returnează angajați în birourile din Statele Unite ale Americii.

  • returnează subinterogarea toate codurile de birou birouri situate în SUA
  • Interogarea exterior selectează numele și prenumele angajatului al cărui cod de birou este în rezultatele returnate de interogarea secundară.

Puteți utiliza o subinterogare oriunde într-o expresie și trebuie să fie închise în paranteze.

MySQL subinterogare în stare UNDE

Subinterogare cu operatori de comparare

Puteți utiliza Comparatorii =,>, <и т.д. чтобы сравнить одно значение возвращенное подзапросом с выражением в условии WHERE. Например, следующий запрос вернет пользователя с максимальным платежом из таблицы payments.

Acum, să găsească utilizatori ale căror plăți sunt mai mult decât plata medie în interogarea secundară.

În primul rând, vom folosi o subinterogare pentru a conta plata medie folosind AVG funcția agregată. Apoi, în interogarea de exterior, vom cere plăți care sunt mai mari decât plata medie este returnat de o subinterogare.

Rezultatul va fi

Subinterogarilor, sau interogări imbricate în MySQL

Operatorii de interogare imbricate IN și nu în







În cazul în care returnează mai mult interogarea secundară de o valoare, puteți utiliza și dacă nu în operatori, în situația în care.

Uită-te la tabelul de mai jos.

Subinterogarilor, sau interogări imbricate în MySQL

Să nu utilizați operatorul, vom găsi oameni care nu au comandat niciun produs.

Acum vom obține acest rezultat

Subinterogarilor, sau interogări imbricate în MySQL

Subinterogare cu SI NU EXISTĂ EXISTS

Atunci când este utilizat cu o subinterogare sau operatori EXISTS NU există, astfel că un subinterogare returnează o valoare booleană: TRUE sau FALSE. În acest caz, acționează ca o interogare imbricate verificarea existenței.

În exemplul următor, vom selecta o listă de utilizatori care au cel puțin o comandă cu vânzările totale de mai mult de 10.000.

În primul rând, vom crea o interogare care va verifica dacă există cel puțin o comandă cu vânzări totale de peste 10.000.

El se va întoarce la noi aici, este un rezultat al

Subinterogarilor, sau interogări imbricate în MySQL

Cerere de întoarcere 6 rânduri cu rezultatele de multiplicare a coloanelor pentru a obține doar un răspuns adevărat-FALS, să utilizăm un subinterogare:

rezultatul este acum atât de

Subinterogarilor, sau interogări imbricate în MySQL

Subinterogare MySQL furnizate în DIN

Când utilizați imbricată în clauza FROM a unei interogări, rezultatul returnat de acest subinterogare este un tabel, care se numește un derivat.

Următoarea interogare găsește maxim, minim și numărul mediu de articole în ordinea

Rezultatul va fi următorul

Vă rugăm să rețineți că sub-interogare returnează un set de rezultate, care este folosit ca un tabel derivat pentru interogarea exterioară.