sql >> Database teknologi >  >> RDS >> Access

Introduktion til særlige forespørgsler

Parametriserede forespørgsler

Introduktion

En parameteriseret forespørgsel er en forespørgsel, der mangler en værdi i et kriterium. Ordet "mangler" her virker negativt for at indikere noget dårligt i forespørgslen, men det er det ikke. Forespørgslen er bevidst oprettet sådan, så en værdi vil blive leveret til dets filter. På det tidspunkt, hvor forespørgslen oprettes, er filteret sat op på en bestemt måde.

En parameteriseret forespørgsel er en forespørgsel, der mangler en værdi i et kriterium. Ordet "mangler" her virker negativt for at indikere noget dårligt i forespørgslen, men det er det ikke. Forespørgslen er bevidst oprettet sådan, så en værdi vil blive leveret til dets filter. På det tidspunkt, hvor forespørgslen oprettes, er filteret sat op på en bestemt måde. Når forespørgslen køres, skal den manglende værdi angives for at fuldføre kriteriet, derefter er forespørgslen færdig, og resultatet af forespørgslen produceres. Det meste af tiden oprettes en parameteriseret forespørgsel, så brugeren skal angive den eller de specifikke poster, der skal produceres.

Selvom vi specificerede, at forespørgslen er parametriseret, er det faktisk SQL-sætningen, der er parameteriseret. Dette betyder, at du kan oprette et SQL-udtryk, der bruges som postkilde for en formular eller rapport, men at forpligte brugeren til at angive de manglende oplysninger, så formularen eller rapporten kun viser de(n) post(er), der bruger denne værdi.

Praktisk læring:Introduktion af parametriserede forespørgsler

  1. Start Microsoft Access
  2. På listen over filer skal du klikke på Altair Realtors3 fra forrige lektion
  3. På båndet skal du klikke på Opret og klikke på Forespørgselsdesign
  4. I dialogboksen Vis tabel, klik på Egenskaber, klik på Tilføj, og klik på Luk
  5. I den øverste liste skal du dobbeltklikke på PropertyNumber, PropertyType, City, Soveværelser, Badeværelser, FinishedBasement, IndoorGarage, Condition og MarketValue
  6. For at se resultaterne skal du klikke på knappen Dataark på statuslinjen
  7. Klik om nødvendigt på Hjem på båndet.
    Skift følgende egenskaber:
    Skrifttypenavn:Calisto MT (hvis du ikke har den skrifttype, vælg Times New Roman)
    Baggrundsfarve:Grøn, Accent 6, Lysere 40 % (Temafarver:10. kolonne, 4. række)
    Alternativ rækkefarve:Grøn, Accent 6, Lysere 80 % (Temafarver:10. kolonne, 2. række)

  8. Når du har set resultatet, skal du i sektionen Visninger på båndet klikke på pilen under knappen Vis og klikke på SQL-visning
  9. Skift SQL-sætningen som følger:
    SELECT Properties.PropertyNumber,
           Properties.PropertyType AS [Property Type],
           Properties.City,
           Properties.Bedrooms AS Beds,
           Properties.Bathrooms AS Baths,
           Properties.FinishedBasement AS [Basement?],
           Properties.IndoorGarage AS [Garage?],
           Properties.Condition,
           Properties.MarketValue AS [Market Value]
    FROM   Properties;
  10. Vis designvisningen af ​​forespørgslen

Oprettelse af en parametriseret forespørgsel

Når du opretter en parameteriseret forespørgsel, skal du angive en parameter til den. For at fortsætte skal du åbne forespørgslen i designvisning og vælge de nødvendige kolonner. Skriv de firkantede parenteser[] i feltet Kriterier i feltet, der skal indeholde kriterierne. Inden for parenteserne skal du indtaste alt, hvad du vil, såsom en besked eller et spørgsmål. Beskeden eller spørgsmålet vil blive præsenteret for brugeren, som skal indtaste en værdi i en tekstboks. Når brugeren angiver værdien og klikker på OK eller trykker på Enter, vil forespørgslen køre.

Praktisk læring:Oprettelse af et parametreret SQL-udtryk

  1. Klik på boksen Kriterier for kolonnen PropertyNumber, og skriv:[Indtast ejendomsnummeret for at se:]

  2. Skift forespørgslen til dataarkvisning for at se resultatet
  3. Indtast ejendomsnummeret som 192703

  4. Klik på OK

  5. Vend tilbage til designvisningen
  6. Slet [Indtast ejendommen # for at se:]
  7. Klik på feltet Kriterier for kolonnen Ejendomstype, og skriv:[Indtast den type ejendom, du vil se:]

  8. Skift forespørgslen til dataarkvisning for at se resultatet
  9. Indtast ejendomstypen som rækkehus

  10. Tryk på Enter

  11. Vend tilbage til designvisningen

Parameteriseret konjunktion

Du kan oprette en parameteriseret forespørgsel, der stillede to eller flere spørgsmål, som skal kombineres for at fuldføre forespørgslen. For at gøre dette skal du i designvisningen af ​​forespørgslen indtaste en meddelelse for feltet Kriterier i hver kolonne.

Praktisk læring:Oprettelse af en parametriseret disjunktion

  1. Klik i feltet Kriterier for kolonnen Soveværelser, og skriv [Hvor mange soveværelser har du brug for?]

  2. Skift forespørgslen til dataarkvisning for at se resultatet
  3. Indtast ejendomstypen som enkelt familie og tryk på Enter
  4. Indtast antallet af soveværelser som 5 og tryk på Enter

  5. Vend tilbage til designvisningen
  6. Slet [Hvor mange soveværelser har du brug for?]

Parameteriseret disjunktion

En parametriseret disjunktion anmoder om to eller flere værdier. Forespørgslen producerer alle poster, der indeholder nogen af ​​værdierne. For at oprette en sådan parameteriseret forespørgsel skal du tilføje det første spørgsmål eller den første besked til feltet Kriterier i det ønskede felt. Tilføj derefter den anden besked eller spørgsmål til feltet Eller i samme kolonne. Hvis du har brug for yderligere værdier, skal du indtaste deres spørgsmål eller beskeder i boksene under cellen eller i samme kolonne.

Praktisk læring:Oprettelse af en parametriseret disjunktion

  1. Klik i feltet Eller i kolonnen Ejendomstype, og skriv [Hvilken anden type egenskab vil du se?]

  2. Skift forespørgslen til dataarkvisning for at se resultatet
  3. Indtast den første ejendomstype som rækkehus og tryk på Enter
  4. Indtast den anden ejendomstype som enkelt familie og tryk på Enter

  5. Luk forespørgslen uden at gemme den

Handlingsforespørgsler

Introduktion

Microsoft Access giver nogle færdige forespørgsler, der giver dig mulighed for at udføre semi-komplekse handlinger på eksisterende tabeller. Handlingerne udføres som forespørgsler. Når du bruger en handlingsforespørgsel, opretter du ikke en almindelig forespørgsel i streng forstand. De fleste af disse forespørgsler er normalt kun nyttige én gang. Af denne grund behøver du næppe at gemme dem.

Lav tabelhandlingsforespørgsel

I stedet for først at oprette en tabel og derefter udfylde den med værdier, hvis du allerede har værdier gemt i en tabel, giver Microsoft Access dig mulighed for at oprette en ny tabel fyldt med værdier fra den tabel.

Ved at bruge forespørgsler er der to hovedteknikker, du kan bruge til at oprette en ny tabel til din database. Microsoft Access tilbyder en teknik kaldet Lav tabelforespørgsel. Denne type forespørgsel bruges til at hente alle eller nogle felter i en eksisterende tabel, og i stedet for at oprette en ny forespørgsel, der afhænger af en eksisterende tabel, vil du få en helt ny tabel, uafhængig af enhver eksisterende tabel. Denne type handling kan lade dig oprette en ny tabel baseret på en regel anvendt på en eksisterende tabel.

For at oprette en tabel ved hjælp af en Microsoft Access-forespørgsel skal du starte en ny forespørgsel i Design View. Klik derefter på knappen Lav tabel i sektionen Forespørgselstype på båndet . Dette vil præsentere dig for en Lav tabel-dialogboks, der giver dig mulighed for at angive et nyt navn til forespørgslen eller vælge en eksisterende tabel, der vil modtage de nye data.

Praktisk læring:Brug af Make-Table-forespørgsler

  1. Altair Realtors3-databasen skal stadig være åben.
    På båndet skal du klikke på Opret, og i sektionen Forespørgsler skal du klikke på Forespørgselsdesign
  2. I dialogboksen Vis tabeller skal du klikke på Egenskaber, klikke på Tilføj og klikke på Luk
  3. I sektionen Forespørgselstype på båndet skal du klikke på knappen Lav tabel
  4. Indtast Condominiums i kombinationsboksen Tabelnavn som navnet på bordet

  5. Sørg for, at alternativknappen Current Database er valgt, og klik på OK
  6. I egenskabslisten skal du dobbeltklikke på PropertyNumber, PropertyType, City, Locality, State, Soveværelser, Badeværelser, Finished Basement, IndoorGarage, Condition og MarketValue
  7. I den nederste side af vinduet skal du klikke på feltet Kriterier for kolonnen PropertyType og skrive ejerlejlighed
  8. Klik på afkrydsningsfeltet Vis for at fjerne fluebenet

  9. For at oprette tabellen skal du klikke på knappen Kør på båndet
  10. Du vil modtage en besked

  11. Læs den, og klik på Ja
  12. Luk forespørgslen uden at gemme den
  13. I navigationsruden skal du dobbeltklikke på tabellen Condominiums

  14. Luk tabellen

Opdateringsforespørgslen

Hvis du har en stor liste og mange poster skal modtage en fælles ændring, kan du oprette en speciel forespørgsel med navnet Update Query. En opdateringsforespørgsel giver dig mulighed for at ændre de eksisterende værdier for en eller flere kolonner i en tabel. Du kan med andre ord hente de værdier, der allerede er i felterne i en tabel, ændre disse værdier og få tabellen gemt med dem.

For at oprette en Tilføj forespørgsel skal du starte en forespørgsel i designvisningen. Klik på knappen Opdater i sektionen Forespørgselstype på båndet . Når du opretter forespørgslen, skal du angive en betingelse om, at Microsoft Access skal gælde for en tabel for at finde ud af, hvilke poster der skal opdateres. For at gøre dette bruger du feltet Kriterier i en kolonne, ligesom vi lærte under dataanalyse.

Praktisk læring:Opdatering af poster

  1. Åbn Metro System1-databasen fra lektion 18
  2. I navigationsruden skal du dobbeltklikke på Silver Line-tabellen for at se dens poster

  3. Luk tabellen
  4. Klik på Opret på båndet, og klik på Forespørgselsdesign i sektionen Forespørgsler
  5. I dialogboksen Vis tabeller, klik på Silver Line, klik på Tilføj og klik på Luk
  6. I sektionen Forespørgselstype på båndet skal du klikke på knappen Opdater
  7. I den øverste liste skal du dobbeltklikke på MetroLine
  8. I bunden af ​​vinduet skal du klikke på boksen Kriterier for kolonnen MetroLine og skrive Sølv

  9. For at udføre handlingen skal du klikke på knappen Kør på båndet
  10. Du vil modtage en beskedboks

    Læs den, og klik på Ja
  11. Luk forespørgslen uden at gemme den
  12. I navigationsruden skal du dobbeltklikke på Silver Line-tabellen for at gennemgå den

  13. Luk tabellen

En tilføj forespørgsel

Hvis du har en tabel med et betydeligt antal poster, og du skal tilføje disse poster til en anden tabel, kan arbejdet blive overvældende. Microsoft Access tilbyder en funktion til at oprette en speciel forespørgsel, der kan bruges til at tilføje mange poster til en tabel i ét trin.

En Tilføj forespørgsel giver dig mulighed for at tilføje poster til en eksisterende tabel, men du opretter ikke posterne. De skal hentes fra én tabel og tilføjes til en anden tabel.

For at oprette en Tilføj forespørgsel skal du starte en forespørgsel i designvisningen. Klik på knappen Tilføj i sektionen Forespørgselstype på båndet . Du vil blive præsenteret for en dialogboks, der forventer, at du enten vælger den tabel, som du vil tilføje posterne til, eller at du angiver navnet på en ny tabel, der vil modtage posterne. Hvis du vil tilføje posterne til en eksisterende tabel, kan du vælge den fra kombinationsboksen.

Som du måske forestiller dig, består tilføjelse af en post af at tilføje en post til en tabel. Hvis du vil gøre dette i SQL, skal du blot oprette en INSERT erklæring.

Praktisk læring:Tilføjelse af poster

  1. Metro System1-databasen skal stadig være åben.
    Dobbeltklik på MetroStations-tabellen i navigationsruden og rul helt ned i listen
  2. Bemærk, at der ikke er nogen stationer for Silver-linjen.
    Luk bordet
  3. På båndet skal du klikke på Opret, og i sektionen Forespørgsler skal du klikke på Forespørgselsdesign
  4. I dialogboksen Vis tabel, klik på Silver Line, klik på Tilføj og klik på Luk
  5. I sektionen Forespørgselstype på båndet skal du klikke på knappen Tilføj
  6. I dialogboksen Tilføj skal du klikke på pilen i kombinationsboksen Tabelnavn og vælge Metrostationer

  7. Klik på OK
  8. I den øverste liste skal du dobbeltklikke på StationNumber, StationName, MetroLine og Location
  9. For at udføre forespørgslen skal du klikke på knappen Kør på båndet
  10. Læs beskeden:

    Klik derefter på Ja
  11. Luk forespørgslen uden at gemme den
  12. I navigationsruden skal du dobbeltklikke på tabellen MetroStations og rulle helt ned i listen
  13. Bemærk, at den nu indeholder stationer for Silver-linjen.
    Luk bordet

Slet-forespørgslen

Hvis du har nogle få poster, der skal fjernes fra en tabel, tilbyder Microsoft Access forskellige teknikker til at slette sådanne poster. For at slette en gruppe poster i én handling kan du oprette en speciel forespørgsel kaldet en Slet forespørgsel.

Som alle andre handlingsforespørgsler giver en Slet-forespørgsel dig mulighed for at vælge de nødvendige felter i en tabel. Den første forskel mellem dette og Select-forespørgslen er, at Slet-forespørgslen, ligesom alle andre handlingsforespørgsler, vælger eller tager hensyn til alle felter, også dem, du ikke medtager i din erklæring. De andre kolonner er dem, der ville blive brugt til at specificere reglerne for, at en post skal slettes.

Du kan bruge et kriterium eller mange kriterier til at indstille den regel, der skal følges for at slippe af med (en) post(er). Som de fleste andre handlingsforespørgsler er handlingen af ​​en Slet-forespørgsel irreversibel.

Praktisk læring:Sletning af databaseposter

  1. Metro System1-databasen skal stadig være åben.
    Dobbeltklik på tabellen MetroStations i navigationsruden for at åbne den
  2. Rul ned og bemærk, at nogle stationer er for Maroon-linjen, men vi ved, at der ikke er nogen Maroon-metrolinje
  3. Luk MetroStations-tabellen
  4. På båndet skal du klikke på Opret, og i sektionen Forespørgsler skal du klikke på Forespørgselsdesign
  5. I dialogboksen Vis tabeller skal du klikke på MetroStations, klikke på Tilføj og klikke på Luk
  6. I sektionen Forespørgselstype på båndet skal du klikke på knappen Slet
  7. I den øverste liste skal du dobbeltklikke på MetroLine
  8. I den nederste side skal du klikke på feltet Kriterier for kolonnen og skrive rødbrun

  9. For at udføre handlingen skal du klikke på knappen Kør på båndet
  10. Du vil modtage en beskedboks

  11. Læs den, og klik på Ja
  12. I navigationsruden skal du dobbeltklikke på tabellen MetroStations for at åbne den
  13. Rul ned og bemærk, at der ikke er flere Maroon-stationer
  14. Luk MetroStations-tabellen
  15. Luk tabellen

Særlige operationer på forespørgsler

Sammenlægning af registreringer af mange tabeller

Hvis du har forskellige tabeller, kan du oprette en forespørgsel, der kombinerer deres poster, så du kan undersøge disse poster, når de sættes sammen. For at hjælpe dig med dette, leverer SQL en operator ved navn UNION . Den primære formel til at bruge det er:

SELECT columns-names FROM table-name1
UNION [ALL]
SELECT columns-names FROM table-name2

Thyis svarer til at oprette to SELECT udsagn. Hver indeholder nogle kolonner og en tabel. Begge udsagn skal indeholde det samme antal kolonner. Datatyperne for kolonnerne på hver position skal være kompatible.

Praktisk læring:Sammenlægning af registreringer af mange tabeller

  1. Åbn Ceil Inn3-databasen fra lektion 40
  2. På båndet skal du klikke på Opret, og i sektionen Forespørgsler skal du klikke på Forespørgselsdesign
  3. I dialogboksen Vis tabel skal du dobbeltklikke på Medarbejdere og ekspedienter
  4. Klik på Luk
  5. I medarbejderlisterne skal du dobbeltklikke på EmployeeNumber, FirstName og LastName
  6. På listen Ekspedienter skal du dobbeltklikke på ClerkCode, FirstName og LastName

  7. Højreklik på forespørgselsvinduet, og klik på SQL View
  8. Skift SQL-sætningen som følger:
    SELECT Employees.EmployeeNumber,
           Employees.FirstName,
           Employees.LastName
    FROM Employees
    UNION
    SELECT Clerks.ClerkCode,
           Clerks.FirstName,
           Clerks.LastName
    FROM Clerks;
  9. Klik på knappen Kør for at udføre forespørgslen

  10. Luk forespørgslen
  11. Når du bliver spurgt, om du vil gemme, skal du klikke på Nej

Valg i en tabel

Hvis du har nogle poster i en eksisterende tabel, kan du kopiere alle eller nogle af disse poster for at placere dem i en ny tabel, du opretter. For at gøre dette er formlen, der skal følges:

SELECT fields INTO new-table-name FROM existing-table [WHERE condition]

For at bruge alle kolonner og alle poster, start med SELECT operator, efterfulgt af *, efterfulgt af INTO , efterfulgt af et navn til den tabel, du vil oprette, efterfulgt af FRA , og navnet på den originale tabel, der indeholder posterne. Her er et eksempel:

SELECT * INTO CompanyRecipients FROM Employees;

I stedet for at bruge alle kolonner, kan du kun angive det ønskede felt efter VÆLG søgeord. Her er et eksempel:

SELECT EmployeeNumber, LastName, FirstName, EmploymentStatus
INTO Salaried FROM Employees;

I stedet for at bruge alle poster, kan du bruge en betingelse, hvorved posterne vil blive valgt og tilføjet til den nye tabel, du opretter. For at indstille betingelsen kan du oprette en Hvor udsagn som den sidste i hele udtrykket. Her er et eksempel:

SELECT *
INTO FullTimeEmployees
FROM Employees
WHERE EmploymentStatus = 'Full Time';

Fjernelse af alle poster fra en tabel

I SQL'en skal du bruge DELETE for at fjerne alle poster fra en tabel kommando. Formlen, der skal følges, er:

DELETE columns-names FROM table-name;

Normalt bruger du * som kolonnenavne . tabelnavnet parameter skal være et gyldigt navn på en tabel i den aktuelle database. Her er et eksempel:

DELETE * FROM States;

Når du udfører, vil du modtage en advarsel:

Hvis du klikker på Ja, vil alle poster fra tabellen blive fjernet.

Sletter nogle Recordx

For at slette en eller flere poster skal du tilføje en Hvor betingelse til en SLET kommando. Formlen, der skal følges, er:

DELETE columns-names FROM table-name WHERE condition;

HVOR klausul specificerer den betingelse, hvorved nogle poster vil blive slettet. Her er et eksempel:

DELETE * FROM [Staff Members] WHERE [Marital Status] = "Single";

Endnu en gang, når du udfører, vil du modtage en advarsel, der giver dig mulighed for at beslutte, om du vil fortsætte operationen.

Praktisk læring:Afslutning af lektionen

  • Luk Microsoft Access

  1. MySQL Basic Database Administration Commands – Del I

  2. Sådan gemmer du historiske poster i en historietabel i SQL Server

  3. PostgreSQL:IKKE IN versus UNDTAGET ydelsesforskel (redigeret #2)

  4. Data Warehousing ETL Data Profiling med Oracle Warehouse Builder