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!