Podkwerendy SQL

Ostatnia aktualizacja 26 lutego 2020 r., 08:07:42 (UTC / GMT +8 godzin)

Co to jest podzapytanie w SQL?

Podzapytanie to zapytanie SQL zagnieżdżone w większym zapytaniu.

  • Podzapytanie może wystąpić w:
    • – klauzula SELECT
    • – klauzula A FROM
    • – klauzula WHERE
  • Podzapytanie może być zagnieżdżone w instrukcji SELECT, INSERT, UPDATE lub DELETE lub w innej podzapytanie.
  • Podzapytanie jest zwykle dodawane w ramach klauzuli WHERE innej instrukcji SQL SELECT.
  • Możesz użyć operatorów porównania, takich jak >, < lub =. Operator porównania może być również operatorem wielu wierszy, takim jak IN, ANY lub ALL.
  • Podzapytanie jest również nazywane zapytaniem wewnętrznym lub wewnętrznym wyborem, podczas gdy instrukcja zawierająca podzapytanie jest również nazywana zapytanie zewnętrzne lub wybór zewnętrzny.
  • Zapytanie wewnętrzne jest wykonywane jako pierwsze przed zapytaniem nadrzędnym, dzięki czemu wyniki zapytania wewnętrznego mogą być przekazane do zapytania zewnętrznego.

może użyć podzapytania w instrukcji SELECT, INSERT, DELETE lub UPDATE, aby wykonać następujące zadania:

  • Porównaj wyrażenie z wynikiem zapytania.
  • Określ, czy wyrażenie jest zawarte w wynikach zapytania.
  • Sprawdź, czy zapytanie wybiera jakiekolwiek wiersze.

Składnia:

  • Podzapytanie (zapytanie wewnętrzne) jest wykonywane raz przed wykonaniem zapytania głównego (zapytania zewnętrznego).
  • Główne zapytanie (zapytanie zewnętrzne) używa wyniku podzapytania.

Przykład podzapytań SQL:

W tej sekcji poznasz wymagania dotyczące korzystania z podzapytań. Mamy następujące dwie tabele „student” i „znaki” ze wspólnym polem „StudentID”.



oceny uczniów

Teraz chcemy napisać zapytanie, aby zidentyfikować wszystkich uczniów, którzy uzyskują lepsze oceny niż student, którego „StudentID” to „V002”, ale nie znamy ocen „V002”.
– Aby rozwiązać problem, potrzebujemy dwóch zapytań. Jedno zapytanie zwraca oceny (zapisane w polu Total_marks) z „V002”, a drugie zapytanie identyfikuje uczniów, którzy uzyskali lepsze oceny niż wynik pierwszego zapytania.

Pierwsze zapytanie:

Wynik zapytania:

Wynik zapytania to 80.
-Korzystając z wyniku tego zapytania, napisaliśmy tutaj kolejne zapytanie w celu zidentyfikowania uczniów, którzy uzyskali lepsze oceny niż 80. Oto zapytanie:

Drugie zapytanie:

Wynik zapytania:

Powyżej dwóch zapytań zidentyfikowani studenci, którzy otrzymali t Lepszy numer niż uczeń, którego StudentID to „V002” (Abhay).

Możesz połączyć dwa powyższe zapytania, umieszczając jedno zapytanie wewnątrz drugiego. Podzapytanie (zwane również „zapytaniem wewnętrznym”) to zapytanie umieszczone w nawiasach. Zobacz następujący kod i wynik zapytania:

Kod SQL:

Wynik zapytania:

Graficzna prezentacja podzapytania SQL:

Podzapytania: zasady ogólne

Instrukcja SELECT podzapytania jest prawie podobna do instrukcji SELECT i służy do rozpoczynania zwykłego lub zewnętrznego zapytania. Oto składnia podzapytania:

Składnia:

Podzapytania: wytyczne

Jest kilka wskazówek, które należy wziąć pod uwagę podczas korzystania z podzapytań:

  • Podzapytanie należy ująć w nawiasy.
  • Podzapytanie należy umieścić po prawej stronie operatora porównania.
  • Podzapytania nie mogą wewnętrznie manipulować ich wynikami, dlatego klauzula ORDER BY nie może zostać dodana do podzapytania. Możesz użyć klauzuli ORDER BY w głównej instrukcji SELECT (zapytanie zewnętrzne), która będzie ostatnią klauzulą.
  • Użyj operatorów jednorzędowych z podzapytaniami jednorzędowymi.
  • Jeśli podzapytanie (zapytanie wewnętrzne) zwraca wartość null do zapytania zewnętrznego, zapytanie zewnętrzne nie zwróci żadnych wierszy, gdy używane są pewne operatory porównania w klauzuli WHERE.

Typ podzapytań

  • Podzapytanie jednorzędowe: zwraca zero lub jeden wiersz.
  • Podzapytanie wielowierszowe: zwraca jeden lub więcej wierszy.
  • Podzapytania z wieloma kolumnami: zwraca jedną lub więcej kolumn.
  • Skorelowane podzapytania: odwołanie do jednej lub więcej kolumn w zewnętrznej instrukcji SQL. Podzapytanie jest znane jako podzapytanie skorelowane, ponieważ jest powiązane z zewnętrzną instrukcją SQL.
  • Zagnieżdżone podzapytania: podzapytania są umieszczane w innym podzapytaniu.

W następnej sesji dokładnie omówiliśmy powyższe tematy. Oprócz powyższego typu podzapytań, możesz użyć podzapytania wewnątrz instrukcji INSERT, UPDATE i DELETE. Oto krótkie omówienie:

Podzapytania z instrukcją INSERT

Instrukcja INSERT może być używana z podzapytaniami.Oto składnia i przykład podzapytań używających instrukcji INSERT.

Składnia:

INSERT INTO table_name ) ]SELECT FROM table1 ;

Jeśli chcemy wstawić te zamówienia z ” W tabeli zamówień, które mają wartość przedpłaty 2000 lub 5000 w tabeli „neworder”, można użyć następującego kodu SQL:

Przykładowa tabela: zamówienia

Kod SQL:

Dane wyjściowe:

Aby zobaczyć więcej szczegółów podzapytań za pomocą instrukcji INSERT kliknij tutaj.

Podzapytania z instrukcją UPDATE

W instrukcji UPDATE można ustawić nową wartość kolumny równą wynikowi zwróconemu przez podzapytanie w jednym wierszu. Oto składnia i przykład podzapytań używających instrukcji UPDATE.

Składnia:

UPDATE table SET column_name = new_value(SELECT COLUMN_NAMEFROM TABLE_NAME) 

Jeśli chcemy zaktualizować tę datę_ord w ” neworder „table z wartością” 15-JAN-10 „, w której różnica między ord_amount i prior_amount jest mniejsza niż minimalna ord_amount tabeli” orders „, można użyć następującego kodu SQL:

Przykładowa tabela: neworder

Kod SQL:

Dane wyjściowe:

Aby zobaczyć więcej szczegółów podzapytań używających instrukcji UPDATE, kliknij tutaj.

Podzapytania z instrukcją DELETE

Instrukcja DELETE może być używana z podzapytaniami. Oto składnia i przykład podzapytań używających instrukcji DELETE.

Składnia:

DELETE FROM TABLE_NAME(SELECT COLUMN_NAME FROM TABLE_NAME) 

Jeśli chcemy usunąć te zamówienia z tabeli „neworder”, których kwota_przedstawki jest mniejsza niż maksymalna kwota_przedstawki wynosząca ” Orders „, można użyć następującego kodu SQL:

Przykładowa tabela: neworder

Kod SQL:

Wynik:

Aby zobaczyć więcej szczegółów podzapytań używających instrukcji DELETE, kliknij tutaj.

Co dalej?

  • Podzapytania SQL – prezentacja na slajdach
  • Podzapytania jednorzędowe
  • Podzapytania wielowierszowe i kolumnowe
  • Skorelowane podzapytania przy użyciu aliasów
  • Zagnieżdżone podzapytania

Uwaga: wyniki pokazanej tutaj instrukcji SQL są pobierane przy użyciu Oracle Database 10g Express Edition.

Ćwicz ćwiczenia SQL

  • Ćwiczenia SQL, praktyka, rozwiązanie
  • SQL Pobieranie danych z tabel
  • Operatory logiczne i relacyjne w języku SQL
  • Operatory symboli wieloznacznych i specjalnych SQL
  • SQL Aggregate Funkcje
  • Wyjście zapytania formatującego SQL
  • Zapytania SQL w wielu tabelach
  • FILTROWANIE i SORTOWANIE w bazie danych HR
  • SPRZĘŻENIA SQL
    • POŁĄCZENIA SQL
    • POŁĄCZENIA SQL w bazie danych HR
  • ZAPYTANIA SQL
    • ZAPYTANIA SQL
    • SUBQUERIES SQL w bazie danych HR
  • SQL Union
  • Widok SQL
  • Zarządzanie kontami użytkowników SQL
  • Baza danych filmów
    • PODSTAWOWE zapytania w bazie danych filmów
    • SUBQUERIES w bazie danych filmów
    • DOŁĄCZENIA w bazie danych filmów
  • Baza danych piłkarskich
    • Wprowadzenie
    • PODSTAWOWE zapytania w piłkarskiej bazie danych
    • SUBQUERIES w piłkarskiej bazie danych
    • DOŁĄCZ zapytania do Piłka nożna Baza danych
  • Baza danych szpitali
    • Wprowadzenie
    • PODSTAWOWE, SUBQUERIES i DOŁĄCZENIA
  • Baza danych pracowników
    • PODSTAWOWE zapytania w bazie danych pracowników
    • SUBQUERIES w bazie danych pracowników
  • Więcej w przyszłości!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *