Hvordan oppdatere en uttalelse med en Subquery

Hvordan oppdatere en uttalelse med en Subquery


SQL eller Structured Query Language, er standard språket som brukes til å behandle data i relasjonsdatabaser. De fleste databaser inneholder flere tabeller, og forholdet mellom dem er referert bruker et felles felt, eller tasten. Svare forretningsspørsmål ved hjelp av data fra ulike tabeller krever at dataene fra hvert bord bli slått sammen i SQL-setningen, ofte ved hjelp av en delspørring. Subqueries kan brukes med de fleste SQL-dataregnskap, som velger, oppdatere og slette uttalelser.

Bruksanvisning

Hvordan oppdatere en SELECT Statement Ved hjelp av en Subquery

1 Åpne et kommandolinjeverktøy som utfører SQL-setninger. Anta to database tabeller i en database. Den første tabellen er oppkalt employee_table og har tre felt: ansatt_nr, first_name og lønn. Den andre tabellen er oppkalt employee_phone og har tre felt: ansatt_nr, PHONE_NUMBER og PHONE_TYPE.

2 Bruk en utvalgt uttalelse for å velge alle postene fra employee_table og legge til (sum) verdiene i lønn feltet. Dette velger uttalelse er den ytre spørringen.

velg sum (lønn) fra employee_table

3 Sett inn en delspørring i SELECT-setningen som velger alle de ansattes IDer fra employee_phone bordet der en registrering har PHONE_TYPE feltverdi "M." Dette er delspørringen, eller indre spørring. De ytre og indre spørringer er slått sammen med felles felt ansatt_nr.

velg sum (lønn) fra employee_table hvor ansatt_nr

i (velg ansatt_nr fra employee_phone hvor PHONE_TYPE = "M")

Hvordan oppdatere en UPDATE erklæringen Ved hjelp av en Subquery

4 Åpne et kommandolinjeverktøy som utfører SQL-setninger mot employee_table og employee_phone tabeller.

5 Bruk en oppdatering statement å få tilgang til data i employee_table og sette verdiene som er lagret i lønn feltet til 500,00. Denne uttalelsen er den ytre spørringen.

oppdatere employee_table sett lønn = 500,00

6 Sett inn en delspørring i oppdateringen uttalelse som velger alle lønninger i employee_phone bordet der en registrering har PHONE_TYPE feltverdi "M." Dette er delspørringen, eller indre spørring. De ytre og indre spørringer er slått sammen med felles felt ansatt_nr.

oppdatere employee_table sett lønn = 500,00 hvor ansatt_nr i (velg ansatt_nr fra employee_phone hvor PHONE_TYPE = "M")

Hvordan oppdatere en DELETE utsagn ved hjelp av en Subquery

7 Åpne et kommandolinjeverktøy som gjør kjøring av SQL-setninger mot employee_table og employee_phone tabeller.

8 Bruk en slette setningen til å slette alle postene fra employee_table. Dette søket er den ytre spørringen. Ikke utfør setningen før du legger den indre forespørselen fordi det vil fjerne alle data i employee_table tabellen.

Slett fra employee_table

9 Sett inn en delspørring inn slette uttalelse som velger alle lønninger i employee_phone bordet der en registrering har PHONE_TYPE feltverdi "W." Dette er delspørringen, eller indre spørring. De ytre og indre spørringer er slått sammen med felles felt ansatt_nr.

Slett fra employee_table hvor ansatt_nr i (velg ansatt_nr fra employee_phone hvor PHONE_TYPE = "W")

Hint

  • Subqueries kan nestes i andre subqueries, opp til et visst antall nivåer.
  • Subqueries må returnere en bestemt kolonneverdi.
  • Subqueries kan brukes med andre typer SQL-setninger og klausuler, for eksempel sette inn, hvor eller å ha.
  • Mange subqueries kan omskrives som blir med, noe som kan gi bedre resultater i bestemte situasjoner.
  • Selv om de fleste databaser bruker en lignende syntaks for subqueries, må du huske å sjekke referansehåndboken for den spesifikke databasen du bruker.