MySQL MariaDB

MySQL-undersøkelser

MySQL-undersøkelser
Et underspørring er et SQL-spørsmål i et større spørring som er rekursivt, eller et undersøk betraktes som et internt spørsmål. I kontrast blir en ytre spørring betegnet som spørringen som inkluderer underspørringen. Et MySQL-undersøk kan legges inn i spørringene, inkludert SELECT, INSERT, UPDATE eller DELETE. Videre, innenfor et annet underspørsmål, kan det være plassert et underspørsmål. Uttrykket underforespørsel skal lukkes i parentes uansett hvor det brukes. Vi lærer deg hvordan og når du skal bruke MySQL-undersøking til å komponere kompliserte spørsmål og beskrive ideen til det tilknyttede spørringen. Åpne kommandolinjeskallet fra skrivebordet og skriv passordet ditt for å begynne å bruke det. Trykk Enter og fortsett.

Underforespørsel innen enkelttabell:

Lag en tabell med navnet "dyr" i databasedataene.'Legg til følgende register over forskjellige dyr med forskjellige egenskaper som vist. Hent denne posten ved hjelp av SELECT-spørringen som følger:

>> VELG * FRA data.dyr;

Eksempel 01:

La oss hente de begrensede postene i denne tabellen ved hjelp av underspørringene. Ved å bruke spørringen nedenfor, vet vi at undersøket vil bli utført først, og utdataene vil bli brukt i hovedspørringen som inndata. Et underspørsmål henter ganske enkelt alderen der dyreprisen er 2500. Alderen til et dyr hvis prisen er 2500 er 4 i tabellen. Hovedspørringen vil velge alle tabelloppføringene der alderen er større enn 4, og utdataene er gitt nedenfor.

>> VELG * FRA data.dyr HVOR Alder> (VELG Alder FRA data.dyr HVOR Pris = '2500');

Eksempel 02:

La oss bruke den samme tabellen i forskjellige situasjoner. I dette eksemplet vil vi bruke noen funksjoner i stedet for WHERE-ledd i underspørringen. Vi har tatt gjennomsnittet av alle prisene som er gitt for dyr. Gjennomsnittsprisen vil være 3189. Hovedforespørselen vil velge alle postene til dyr som har en pris på mer enn 3189. Du får utdataene nedenfor.

>> VELG * FRA data.dyr HVOR Pris> (VELG AVG (Pris) FRA data.dyr);

Eksempel 03:

La oss bruke IN-setningen i hoved SELECT-spørringen. Først og fremst vil undersøket hente priser som er større enn 2500. Etter det vil hovedspørringen velge alle postene til tabellen 'dyr' der prisen ligger i underspørselsresultatet.

>> VELG * FRA data.dyr HVOR Pris IN (VELG Pris FRA data.dyr HVOR Pris> 2500);

Eksempel 04:

Vi har brukt undersøket for å hente navnet på dyret der prisen er 7000. Siden det dyret er en ku, blir navnet "ku" returnert til hovedspørsmålet. I hovedforespørselen vil alle postene bli hentet fra tabellen der dyrenavnet er 'ku'.'Siden vi bare har to poster for dyreku', er det derfor vi har utdataene nedenfor.

>> VELG * FRA data.animals WHERE Name = (SELECT Name FROM data.dyr HVOR Pris = '7000');

Spørring innen flere tabellposter:

Anta nedenstående to tabeller, 'student' og 'lærer', i databasen din. La oss prøve noen eksempler på underspørsmål ved hjelp av disse to tabellene.

>> VELG * FRA data.student;
>> VELG * FRA data.lærer;

Eksempel 01:

Vi henter data fra en tabell ved hjelp av underspørringen og bruker den som en inngang for hovedspørsmålet. Dette betyr at disse to tabellene kan relateres på noen måte. I eksemplet nedenfor har vi brukt undersøket til å hente studentens navn fra tabellen 'student' der lærernavnet er 'Samina.'Dette spørsmålet vil returnere' Samina 'til læreren til hovedspørringstabellen.'Hovedspørringen vil da velge alle postene knyttet til lærernavnet' Samina.'Siden vi har to poster for dette navnet, har vi derfor fått dette resultatet.

>> VELG * FRA data.lærer WHERE TeachName = (SELECT TeachName FROM data.student WHERE TeachName = 'Samina');

Eksempel 02:

For å utdype undersøket i tilfelle av forskjellige tabeller, prøv dette eksemplet. Vi har et underspørsmål som henter lærerens navn fra bordstudenten. Navnet skal ha 'i' til enhver posisjon i verdien. Dette betyr at alle navnene i kolonnen TeachName som har 'i' i verdien, blir valgt og returnert til hovedspørsmålet. Hovedspørringen vil velge alle postene fra 'lærertabellen' hvor lærernavnet er i utdataene som returneres av underspørringen. Da underforespørsel returnerte 4 navn på lærere, vil vi derfor ha en oversikt over alle disse navnene i tabellens lærer.'

>> VELG * FRA data.lærer WHERE TeachName IN (VELG TeachName FROM data.student WHERE TeachName LIKE '% i%');

Eksempel 03:

Vurder nedenstående to tabeller, 'orden' og 'orden1'.

>> VELG * FRA data.rekkefølge;
>> VELG * FRA data.ordre1;

La oss prøve en hvilken som helst klausul i dette eksemplet for å utdype underspørring. Underspørringen vil velge "id" fra tabellen "rekkefølge1", der kolonnen "Status" har verdien "Ubetalt.'Id'et kan være mer enn 1. Dette betyr at mer enn 1 verdi vil bli returnert til hovedspørringen for å få resultatene fra tabellen. I dette tilfellet kan hvilken som helst 'id' brukes. Vi har utdataene nedenfor for dette spørsmålet.

>> VELG vare, salg, ID FRA data.rekkefølgen WHERE id = ANY (VELG id FRA data.order1 WHERE Status = 'Ubetalt');

Eksempel 04:

Anta at du har dataene nedenfor i tabellen 'order1' før du søker.

>> VELG * FRA data.ordre1;

La oss bruke spørringen i et spørsmål for å slette noen poster fra tabellen 'order1'. For det første vil underspørringen velge 'Status' verdi fra tabellen 'rekkefølge' der varen er 'Bok.'Delspørringen returnerer' Betalt 'som verdien. Nå vil hovedsøket slette radene fra tabellen 'order1' der 'Status' kolonneverdien er 'Betalt.'

>> SLETT FRA data.order1 WHERE Status = (VELG Status FROM data.bestill WHERE Item = 'Book');

Når vi har sjekket, har vi nå nedenstående poster holdt seg i tabellen 'order1' etter utførelsen av spørringen.

>> VELG * FRA data.ordre1;

Konklusjon:

Du har jobbet effektivt med mange underspørsmål i alle eksemplene ovenfor. Vi håper alt er klart og rent nå.

Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...