/ / MySQL - spørring i spørring. MySQL: spørringseksempler. MySQL Nested Queries

MySQL er spørringen i spørringen. MySQL: spørringseksempler. MySQL Nested Queries

Foreløpig kan alle observereden raske veksten av digital informasjon. Og siden det meste av denne informasjonen er viktig, blir det nødvendig å lagre den på digitale medier for fremtidig bruk. I denne situasjonen kan moderne teknologier som databaser brukes. De gir pålitelig lagring av all digital informasjon, og tilgang til data kan utføres hvor som helst i verden. En av teknologiene som er vurdert er MySQL-databasesystemet.

MySQL DBMS - hva er det?

RelasjonsdatabasestyringssystemMySQL er en av de mest populære og ofte brukte informasjonslagringsteknologiene. Funksjonaliteten er overlegen i mange henseender med det eksisterende DBMS. Spesielt er en av hovedfunksjonene muligheten til å bruke nestede MySQL-spørsmål.

MySQL-spørsmål

Derfor er mange prosjekter hvor tid er viktighastighet og det er nødvendig å sikre lagring av informasjon, samt å utføre komplekse dataprøver, utvikles på grunnlag av MySQL DBMS. De fleste av disse utbyggingene er nettsteder. Samtidig implementeres MySQL aktivt i implementeringen av både små (blogger, visittkortsteder osv.) Og ganske store oppgaver (nettbutikker, datalagring, etc.). I begge tilfeller brukes en MySQL-spørring for å vise informasjon på nettstedssiden. I forespørselen prøver utviklerne å få mest mulig ut av de tilgjengelige funksjonene som databasesystemet gir.

Hvordan skal datalagring organiseres?

For enkel lagring og etterfølgende behandlingdata er nødvendigvis bestilt. Datastrukturen lar deg bestemme hvordan tabellene som brukes til å lagre informasjon skal se ut. Databasetabeller er et sett med felt (kolonner) som er ansvarlig for hver spesifikke egenskap til et dataobjekt.

Eksempler på MySQL-spørringer

Hvis du for eksempel lager en tabell med ansatteet visst selskap, vil den enkleste strukturen være som følger. Hver ansatt tildeles et unikt nummer, som vanligvis brukes som den viktigste nøkkelen til tabellen. Deretter legges personopplysningene til den ansatte inn i tabellen. Det kan være hva som helst: fullt navn, navn på avdelingen det er tilordnet, telefonnummer, adresse osv. I henhold til kravene til normalisering (6 normale databaser), så vel som for at MySQL-spørsmål skal struktureres, må tabellfeltene være atomiske, det vil si at de ikke må ha oppregninger eller lister. Derfor er det som regel separate felt i tabellen for etternavn, fornavn osv.

Ansatt ID

Etternavn

Navn

patronymikon

Department_id

Posisjon

telefon

Employer_id

1

Ivanov

Ivan

Ivanovich

Administrator

direktør

495 ****

null

2

Petrov

Peter

Petrovich

Administrator

Vise regissør

495 ***

1

3

Grishin

Gregory

Grigorievich

salg

Sjef

1

...

...

...

...

...

...

...

...

59

Sergeev

Sergei

S.

salg

Butikk assistent.

495 ***

32

Over er et trivielt eksempel på en strukturdatabasetabeller. Imidlertid oppfyller den fremdeles ikke helt de grunnleggende kravene til normalisering. I reelle systemer opprettes en ekstra avdelingstabell. Derfor bør tabellen nedenfor inneholde avdelingsnumre i stedet for ordene i kolonnen "Avdeling".

Hvordan data hentes

For å hente data fra tabeller i DBMS brukes en spesialkommando MySQL - be om Velg. For å sikre at databaseserveren er korrektreagert på forespørselen, må forespørselen være korrekt utformet. Forespørselsstrukturen er dannet som følger. Ethvert anrop til databaseserveren begynner med nøkkelordet å velge... Det var fra ham alle er under bygging i MySQL-spørsmål. Eksemplene kan variere i kompleksitet, men konstruksjonsprinsippet er veldig likt.

Deretter må du indikere fra hvilke felt du vil velge informasjonen av interesse. Oppføringen av felt skilles med komma etter setningen å velge... Etter at alle de påkrevde feltene er listet opp, spesifiserer spørringen tabellobjektet valget skal finne sted fra, ved hjelp av setningen fra og angi navnet på tabellen.

For å begrense utvalget blir spesielle operatører levert av DBMS lagt til MySQL-spørringene. For å velge ikke-repeterende (unike) data, brukes et forslag tydelig, og for å stille betingelser, operatøren hvor... Som et eksempel på ovennevntetabell, kan du vurdere en forespørsel som krever informasjon om det fulle navnet. ansatte som jobber i "Salg" -avdelingen. Forespørselstrukturen vil se ut i tabellen nedenfor.

MySQL velg spørring

Forstå et underspørsmål

Men det viktigste ved DBMS, som angittovenfor, muligheten til å håndtere nestede MySQL-spørsmål. Hvordan skal det se ut? Fra navnet er det logisk klart at dette er en forespørsel dannet i et bestemt hierarki fra to eller flere forespørsler. Teorien bak studien av særegenheter ved DBMS sier at MySQL ikke pålegger begrensninger på antall MySQL-spørsmål som kan nestes i hovedspørsmålet. Du kan imidlertid eksperimentere i praksis og sørge for at responstiden vil øke betydelig etter de andre ti nestede spørsmålene. I praksis er det ingen oppgaver som krever et ekstremt komplekst MySQL-spørsmål. Et spørsmål kan kreve maksimalt 3-5 nestede hierarkier.

MySQL-spørring i spørring

Bygge nestede spørsmål

Når du analyserer informasjonen som er lest, er et antallspørsmål om hvor nestede spørsmål kan brukes, og om det er mulig å løse problemet ved å dele dem opp i enkle uten å komplisere strukturen. I praksis brukes nestede spørsmål for å løse komplekse problemer. Denne typen problemer inkluderer situasjoner der tilstanden ikke er kjent på forhånd, ifølge hvilken ytterligere valg av verdier vil være begrenset. Det er umulig å løse slike problemer hvis du bare bruker et vanlig MySQL-spørsmål. Et spørsmål bestående av hierarkier vil søke etter begrensninger som kan endres over tid eller kanskje ikke er kjent på forhånd.

Hvis vi vurderer tabellen ovenfor, dafølgende eksempel kan nevnes som en vanskelig oppgave. La oss si at vi må finne ut grunnleggende informasjon om de ansatte som er underordnet Grishin Grigory Grigorievich, som er leder for salgsavdelingen. Når vi lager en forespørsel, vet vi ikke identifikasjonsnummeret. Derfor må vi først kjenne ham. For dette brukes et enkelt spørsmål som lar deg finne en løsning på hovedtilstanden og utfylle hoved MySQL-spørringen. Spørringen viser tydelig at undersøket mottar et ansattes identifikasjonsnummer, som ytterligere definerer begrensningen for hovedspørsmålet:

MySQL nestede spørsmål

I dette tilfellet forslaget noen brukes for å ekskludere forekomsten av feil hvis det er flere ansatte med slike initialer.

resultater

Oppsummering, det bør bemerkes at det erdet er mange andre tilleggsfunksjoner som i stor grad letter konstruksjonen av spørsmål, siden MySQL DBMS er et kraftig verktøy med et rikt arsenal av verktøy for lagring og behandling av data.

likte:
0
Populære innlegg
Åndelig utvikling
mat
y