MySQL Prequeries

MySQL Prequeries
Podział to zapytanie SQL w ramach większego zapytania, które jest rekurencyjne lub rozroczenie jest uważane za zapytanie wewnętrzne. Natomiast zapytanie zewnętrzne jest określane jako zapytanie, które obejmuje opłatę. Podział MySQL może być osadzony w zapytaniach, w tym wybór, wstaw, aktualizuje lub usuwać. Ponadto, w ramach innego podziału, można umieścić rozdzielczość. Zastąpienie wyrażenia powinno być zamknięte w nawiasach wszędzie tam, gdzie jest używane. Nauczymy Cię, w jaki sposób i kiedy użyć podziału MySQL do komponowania skomplikowanych zapytań i opisania idei powiązanego podziału. Otwórz powłokę wiersza polecenia z pulpitu i napisz hasło, aby zacząć go używać. Naciśnij Enter i kontynuuj.

Zastępca w ramach pojedynczej tabeli Records:

Utwórz tabelę o nazwie „Zwierzęta” w danych bazy danych.„Dodaj poniższy rekord różnych zwierząt o różnych właściwościach. Pobieraj ten rekord za pomocą zapytania Wybierz w następujący sposób:

>> Wybierz * z danych.Zwierząt;

Przykład 01:

Odzyskajmy ograniczone rekordy tej tabeli za pomocą podziałów. Korzystając z poniższego zapytania, wiemy, że podział zostanie wykonany jako pierwszy, a jego wyjście zostanie użyte w głównym zapytaniu jako wejście. Rozprzejma po prostu przynosi wiek, w którym cena zwierząt wynosi 2500. Wiek zwierzęcia, którego cena wynosi 2500 to 4 w tabeli. Główne zapytanie wybierze wszystkie rekordy tabeli, w których wiek jest większy niż 4, a dane wyjściowe podano poniżej.

>> Wybierz * z danych.Zwierzęta, gdzie wiek> (wybierz wiek z danych.zwierzęta, gdzie cena = „2500”);

Przykład 02:

Użyjmy tej samej tabeli w różnych sytuacjach. W tym przykładzie będziemy używać jakiejś funkcji zamiast klauzuli w podziale. Przyjmowaliśmy średnią ze wszystkich cen podanych dla zwierząt. Średnia cena wyniesie 3189. Główne zapytanie wybierze wszystkie zapisy zwierząt o cenie ponad 3189. Otrzymasz poniższe wyjście.

>> Wybierz * z danych.Zwierzęta, w których cena> (wybierz AVG (cena) z danych.Zwierząt);

Przykład 03:

Użyjmy klauzuli In w zapytaniu głównym. Po pierwsze, podział na ceny wzrośnie większe niż 2500. Następnie główne zapytanie wybierze wszystkie zapisy tabeli „Zwierzęta”, w których cena leży w wyniku podziału.

>> Wybierz * z danych.Zwierzęta, gdzie cena (wybierz cenę z danych.zwierzęta, w których cena> 2500);

Przykład 04:

Używamy podziału do pobrania nazwy zwierzęcia, w której cena wynosi 7000. Ponieważ to zwierzę jest krowy, dlatego nazwa „krowa” zostanie zwrócona do głównego zapytania. W głównym zapytaniu wszystkie rekordy zostaną odzyskane ze stołu, w którym nazwa zwierzęcia brzmi „krowa.„Ponieważ mamy tylko dwa rekordy dla„ krowy zwierzęcych ”, dlatego mamy poniższe wyjście.

>> Wybierz * z danych.Zwierzęta, gdzie nazwa = (wybierz nazwę z danych.zwierzęta, gdzie cena = „7000”);

Podział w wielu rekordach tabeli:

Załóż poniżej dwie tabele, „uczeń” i „nauczyciel” w swojej bazie danych. Wypróbujmy kilka przykładów podziałów za pomocą tych dwóch tabel.

>> Wybierz * z danych.student;
>> Wybierz * z danych.nauczyciel;

Przykład 01:

Będziemy pobierać dane z jednej tabeli za pomocą podziału i użyjemy go jako wejścia do głównego zapytania. Oznacza to, że te dwie tabele mogą w jakiś sposób się odnosić. W poniższym przykładzie używamy podziału do pobrania imienia ucznia z tabeli „Uczeń”, w którym nazwa nauczyciela to „Samina.„To zapytanie zwróci„ Saminę ”do nauczyciela głównego stolika zapytania”.„Główne zapytanie wybierze wszystkie rekordy związane z nazwą nauczyciela” Samina.„Ponieważ mamy dwie rekordy dla tej nazwy, dlatego mamy ten wynik.

>> Wybierz * z danych.Nauczyciel, gdzie nauczyciel = (wybierz nazwę nauczania z danych.uczeń, gdzie nauczanie = „samina”);

Przykład 02:

Aby opracować rozdzielczość w przypadku różnych tabel, wypróbuj ten przykład. Mamy podział, który przynosi imię nauczyciela od ucznia tabeli. Nazwa powinna mieć „ja” na dowolnej pozycji w swojej wartości. Oznacza to, że wszystkie nazwy w kolumnie TeachName posiadające „ja” w ich wartości zostaną wybrane i zwrócone do głównego zapytania. Główne zapytanie wybierze wszystkie rekordy z tabeli „Nauczyciela”, w której nazwa nauczyciela znajduje. Ponieważ rozroczenie zwróciły 4 nazwiska nauczycieli, dlatego będziemy mieli zapis wszystkich tych nazwisk zamieszkałych w tabeli nauczyciela.'

>> Wybierz * z danych.Nauczyciel, w którym nauczył się (wybierz nazwę nauczania z danych.uczeń, gdzie nauczanie tak jak „%i%”);

Przykład 03:

Rozważ poniższe dwie tabele, „zamów” i „rzędu1”.

>> Wybierz * z danych.zamówienie;
>> Wybierz * z danych.Zakon1;

Wypróbujmy dowolną klauzulę w tym przykładzie, aby skomplikować rozdzielczość. Podział wybierze „id” z tabeli „Order1”, w której kolumna „Status” ma wartość „nieopłaconego.„ID” może być więcej niż 1. Oznacza to, że więcej niż 1 wartość zostanie zwrócona do głównego zapytania, aby uzyskać wyniki tabeli „zamów”. W takim przypadku można użyć wszelkich „identyfikatorów”. Mamy poniższe wyjście dla tego zapytania.

>> Wybierz element, sprzedaż, identyfikator z danych.Zamów tam, gdzie id = dowolny (wybierz id z danych.rzędu1 gdzie status = „nieopłacany”);

Przykład 04:

Załóżmy, że masz poniższe dane w tabeli „zamówienie 1” przed zastosowaniem jakiegokolwiek zapytania.

>> Wybierz * z danych.Zakon1;

Zastosujmy zapytanie w zapytaniu, aby usunąć niektóre rekordy z tabeli „Order1”. Po pierwsze, podtrzymanie wybierze wartość „Status” z tabeli „Zamów”, w której element jest „książką”.„Zwraca podrekondy„ zapłacone ”jako wartość. Teraz główne zapytanie usunie wiersze z tabeli „Order1”, gdzie wartość kolumny „Status” jest wypłacana.'

>> Usuń z danych.zamówienie 1 gdzie status = (wybierz status z danych.Zamów tam, gdzie item = „książka”);

Po sprawdzeniu mamy teraz poniższe rekordy pozostały w tabeli „Order1” po wykonaniu zapytania.

>> Wybierz * z danych.Zakon1;

Wniosek:

Pracowałeś skutecznie z wieloma podziałami we wszystkich powyższych przykładach. Mamy nadzieję, że teraz wszystko jest jasne i czyste.