Katrs no mums regulāri sastopas un lietojam dažādas datu bāzes. Izvēloties e-pasta adresi, mēs strādājam ar datu bāzi. Datu bāzes izmanto meklēšanas pakalpojumus, bankas klientu datu glabāšanai utt.
Bet, neskatoties uz pastāvīgo datu bāzu izmantošanu, pat daudziem izstrādātājiem programmatūras sistēmas ir daudz "tukšu vietu", jo vienu un to pašu terminu interpretācija ir atšķirīga. Pirms SQL valodas aplūkošanas mēs sniegsim īsu datu bāzes terminu definīciju. Tātad.
Datu bāze - fails vai failu kopa sakārtotu datu struktūru un to attiecību glabāšanai. Ļoti bieži datu bāzi sauc par vadības sistēmu – tā ir tikai informācijas krātuve noteiktā formātā un var darboties ar dažādām DBVS.
Tabula - Iedomāsimies mapi, kurā glabājas dokumenti, kas sagrupēti pēc noteikta atribūta, piemēram, pasūtījumu saraksts par pēdējo mēnesi. Šī ir tabula datorā. Atsevišķai tabulai ir savs unikālais nosaukums.
Datu tips - kāda veida informāciju atļauts glabāt noteiktā kolonnā vai rindā. Tie var būt cipari vai noteikta formāta teksts.
Kolonna un rinda- mēs visi esam strādājuši ar izklājlapām, kurās ir arī rindas un kolonnas. Jebkura relāciju datu bāze darbojas ar tabulām tādā pašā veidā. Rindas dažreiz sauc par ierakstiem.
primārā atslēga- katrai tabulas rindai var būt viena vai vairākas kolonnas, lai to unikāli identificētu. Bez primārās atslēgas ir ļoti grūti atjaunināt, modificēt un dzēst vēlamās rindas.
SQL(angļu — strukturētā vaicājuma valoda) tika izstrādāta tikai darbam ar datu bāzēm un šobrīd ir standarts visām populārajām DBVS. Valodas sintakse sastāv no neliela operatoru skaita un ir viegli apgūstama. Bet, neskatoties uz ārējo vienkāršību, tas ļauj sql izveide vaicājumi sarežģītām operācijām ar jebkura izmēra datu bāzi.
Kopš 1992. gada pastāv vispārpieņemts standarts, ko sauc par ANSI SQL. Tas nosaka operatoru pamatsintaksi un funkcijas, un to atbalsta visi DBVS tirgus līderi, piemēram, ORACLE. Nav iespējams vienā mazā rakstā aptvert visas valodas iespējas, tāpēc īsumā apskatīsim tikai pamata SQL vaicājumus. Piemēri skaidri parāda valodas vienkāršību un iespējas:
Visas datu bāzes tabulas kolonnas glabā viena veida datus. Datu tipi SQL ir tādi paši kā citās programmēšanas valodās.
Ir divi veidi, kā izveidot jaunas datu bāzes, tabulas un citus vaicājumus SQL:
Operators izveido jaunu datu bāzi IZVEIDOT DATU BĀZI<наименование базы данных>; . Kā redzat, sintakse ir vienkārša un kodolīga.
Mēs izveidojam tabulas datu bāzē, izmantojot priekšrakstu CREATE TABLE ar šādiem parametriem:
Piemēram, izveidosim preču tabulu ar šādām kolonnām:
Mēs izveidojam tabulu:
IZVEIDOT TABULU Prece
(preces_id CHAR(15) NOT NULL,
vendor_id CHAR(15) NOT NULL,
preces_nosaukums CHAR(254) NULL,
commodity_price DECIMAL(8,2) NULL,
commodity_desc VARCHAR(1000) NULL);
Tabulā ir piecas kolonnas. Pēc nosaukuma tiek norādīts datu tips, kolonnas tiek atdalītas ar komatiem. Kolonnas vērtība var būt tukša (NULL) vai jāaizpilda (NOT NULL), un tā tiek noteikta, izveidojot tabulu.
Datu atlases operators ir visbiežāk izmantotais SQL vaicājums. Lai iegūtu informāciju, jānorāda, ko no šādas tabulas vēlamies atlasīt. Vispirms vienkāršs piemērs:
ATLASĪT preces_nosaukums FROM Prece
Pēc SELECT priekšraksta norādām kolonnas nosaukumu informācijas iegūšanai, un FROM definē tabulu.
Vaicājuma izpildes rezultāts būs visas tabulas rindas ar Commodity_name vērtībām tādā secībā, kādā tās tika ievadītas datu bāzē, t.i. bez jebkādas šķirošanas. Rezultāta pasūtīšanai tiek izmantots papildu punkts ORDER BY.
Lai vaicātu vairākos laukos, uzskaitiet tos, atdalot tos ar komatiem, kā parādīts šajā piemērā:
ATLASĪT preces_id, preces_nosaukums, preces_cena NO Preces
Kā vaicājuma rezultātu ir iespējams iegūt visu rindas kolonnu vērtību. Šim nolūkam tiek izmantota zīme "*":
SELECT * FROM Prece
Lai tabulai pievienotu rindu, tiek izmantoti SQL vaicājumi ar INSERT priekšrakstu. Pievienošanu var veikt trīs veidos:
Lai pievienotu pilnu rindu, jānorāda tabulas nosaukums un jaunās rindas kolonnu (lauku) vērtības. Šeit ir piemērs:
INSERT INTO Preču VĒRTĪBAS ("106", "50", "Coca-Cola", "1.68", "Bez alkohola ,)
Piemērā tabulai tiek pievienots jauns produkts. Vērtības katrai kolonnai ir norādītas aiz VALUES. Ja kolonnai nav atbilstošas vērtības, tad jānorāda NULL. Kolonnas tiek aizpildītas ar vērtībām tādā secībā, kas norādīta tabulas izveides laikā.
Ja pievienojat tikai daļu no rindas, jums ir skaidri jānorāda kolonnu nosaukumi, kā parādīts piemērā:
INSERT INTO Prece (preču_id, piegādātāja_id, preces_nosaukums)
VĒRTĪBAS("106 ", '50", "Coca Cola")
Mēs ievadījām tikai preces identifikatorus, piegādātāju un tā nosaukumu, bet pārējos laukus atstājām tukšus.
INSERT galvenokārt izmanto rindu pievienošanai, taču to var izmantot arī SELECT priekšraksta rezultātu pievienošanai.
Lai mainītu informāciju datu bāzes tabulas laukos, jāizmanto priekšraksts UPDATE. Operatoru var izmantot divos veidos:
UPDATE sastāv no trim galvenajiem elementiem:
Apsveriet piemēru. Pieņemsim, ka produkta ar ID=106 cena ir mainījusies, tāpēc šī rinda ir jāatjaunina. Mēs rakstām šādu operatoru:
ATJAUNINĀT Preču SET commodity_price = "3,2" WHERE commodity_id = "106"
Mēs norādījām tabulas nosaukumu, mūsu gadījumā Commodity, kur tiks veikta atjaunināšana, pēc tam pēc SET - kolonnas jauno vērtību un atradām vēlamo ierakstu, norādot vēlamo ID vērtību WHERE.
Lai mainītu vairākas kolonnas, pēc priekšraksta SET norādiet vairākus kolonnu-vērtību pārus, atdalot tos ar komatiem. Apskatīsim piemēru, kurā tiek atjaunināts preces nosaukums un cena:
UPDATE Commodity SET commodity_name='Fanta', commodity_price = "3.2" WHERE commodity_id = "106"
Lai dzēstu informāciju kolonnā, varat iestatīt to uz NULL, ja tabulas struktūra to atļauj. Jāatceras, ka NULL ir tieši "nē" vērtība, nevis nulle teksta vai skaitļa formā. Noņemt produkta aprakstu:
ATJAUNINĀT Preču SET commodity_desc = NULL WHERE commodity_id = "106"
SQL vaicājumi rindu dzēšanai tabulā tiek izpildīti ar DELETE priekšrakstu. Ir divi lietošanas gadījumi:
Piemērs vienas rindas dzēšanai no tabulas:
DELETE FROM Commodity WHERE preces_id = "106"
Pēc DELETE FROM mēs norādām tabulas nosaukumu, kurā rindas tiks dzēstas. Klauzula WHERE satur nosacījumu, saskaņā ar kuru rindas tiks atlasītas dzēšanai. Piemērā mēs dzēšam produktu līniju ar ID=106. Ir ļoti svarīgi norādīt KUR. izlaižot šo paziņojumu, tiks dzēstas visas tabulas rindas. Tas attiecas arī uz lauku vērtības maiņu.
DELETE priekšraksts nenorāda kolonnu nosaukumus vai metarakstzīmes. Tas pilnībā noņem rindas, bet nevar noņemt vienu kolonnu.
Parasti to izmanto interaktīvi, lai izveidotu tabulas, datu bāzes, pārvaldītu, modificētu, analizētu datus datu bāzē un ieviestu SQL Access vaicājumus, izmantojot ērtu interaktīvu vaicājumu noformētāju (Query Designer), ar kura palīdzību jūs varat izveidot un nekavējoties izpildīt jebkuras sarežģītības SQL paziņojumus.
Tiek atbalstīts arī servera piekļuves režīms, kurā Access DBMS var izmantot kā SQL vaicājumu ģeneratoru jebkuram ODBC datu avotam. Šī iespēja ļauj Access lietojumprogrammām mijiedarboties ar jebkuru formātu.
Tā kā SQL vaicājumiem nav visas procesuālās programmēšanas valodu funkcijas, piemēram, cilpas, zari utt., DBVS pārdevēji izstrādā savu SQL versiju ar uzlabotām funkcijām. Pirmkārt, tas ir atbalsts saglabātajām procedūrām un procesuālo valodu standarta operatoriem.
Visizplatītākie valodas dialekti:
MySQL DBVS tiek izplatīta saskaņā ar GNU vispārējo publisko licenci. Ir komerciāla licence ar iespēju izstrādāt pielāgotus moduļus. Kā neatņemama sastāvdaļa tā ir iekļauta populārākajos interneta serveru komplektos, piemēram, XAMPP, WAMP un LAMP, un ir vispopulārākā DBVS lietojumprogrammu izstrādei internetā.
To izstrādāja Sun Microsystems, un pašlaik to uztur Oracle Corporation. Atbalsta datu bāzes līdz 64 terabaitiem, SQL:2003 sintakses standartu, datu bāzu replikāciju un mākoņpakalpojumus.
Vaicājumi programmā Access ir galvenais rīks datu atlasei, atjaunināšanai un apstrādei datu bāzes tabulās. Programma Access saskaņā ar relāciju datu bāzu koncepciju izmanto strukturēto vaicājumu valodu (SQL), lai izpildītu vaicājumus. Ar SQL priekšrakstu palīdzību tiek īstenots jebkurš Access vaicājums.
Galvenais pieprasījuma veids ir atlasītais pieprasījums. Šī vaicājuma rezultāts ir jauna tabula, kas pastāv līdz vaicājuma aizvēršanai. Ieraksti tiek veidoti, apvienojot to tabulu ierakstus, uz kurām ir veidots vaicājums. Tabulas ierakstu apvienošanas metode tiek norādīta, definējot to attiecības datu shēmā vai veidojot vaicājumu. Vaicājumā formulētie atlases nosacījumi ļauj filtrēt ierakstus, kas veido tabulu savienošanas rezultātu.
Programmā Access var izveidot vairāku veidu vaicājumus:
Pieprasījumi programmā Access projektēšanas režīmā satur datu shēmu, kas parāda izmantotās tabulas, un vaicājuma formu, kurā tiek konstruēta vaicājuma tabulas struktūra un ierakstu atlases nosacījumi (4.1. att.).
Izmantojot vaicājumu, varat veikt šādus datu apstrādes veidus:
Vaicājumi programmā Access kalpo kā ierakstu avoti citiem vaicājumiem, veidlapām un pārskatiem. Izmantojot vaicājumu, jūs varat savākt pilnīgu informāciju, lai no vairākām tabulām izveidotu noteiktas tematiskās jomas dokumentu, pēc tam to izmantot, lai izveidotu veidlapu - šī dokumenta elektronisko attēlojumu. Ja vednis izveido veidlapu vai atskaiti, pamatojoties uz vairākām saistītām tabulām, tām automātiski tiek ģenerēts vaicājums kā ieraksta avots.
Lai labotu, skatiet video pamācību.
SQL tiek izmantots, lai izgūtu datus no datu bāzes. SQL ir programmēšanas valoda, kas ļoti atgādina angļu valodu, bet ir paredzēta datu bāzu pārvaldības programmām. SQL tiek izmantots visos Access vaicājumos.
Izpratne par to, kā darbojas SQL, palīdz izveidot precīzākus vaicājumus un atvieglo to vaicājumu labošanu, kas atgriež nepareizus rezultātus.
Šis raksts ir daļa no SQL for Access rakstu sērijas. Tajā ir aprakstīti SQL lietošanas pamati datu izgūšanai un sniegti SQL sintakses piemēri.
SQL ir programmēšanas valoda, kas paredzēta darbam ar faktu kopām un attiecībām starp tām. Relāciju datu bāzes programmas, piemēram, Microsoft Office Access, izmanto SQL, lai manipulētu ar datiem. Atšķirībā no daudzām programmēšanas valodām, SQL ir viegli lasāms un saprotams pat iesācējiem. Tāpat kā daudzas programmēšanas valodas, SQL ir starptautisks standarts, ko atzinušas standartu komitejas, piemēram, ISO un ANSI.
Datu kopas ir aprakstītas SQL, lai palīdzētu atbildēt uz jautājumiem. Lietojot SQL, ir jāizmanto pareizā sintakse. Sintakse ir noteikumu kopums, kas ļauj pareizi apvienot valodas elementus. SQL sintakse ir balstīta uz angļu valodas sintakse un koplieto daudzus elementus ar Visual Basic for Applications (VBA) valodas sintaksi.
Piemēram, vienkāršs SQL priekšraksts, kas izgūst to kontaktpersonu uzvārdu sarakstu, kuras nosauktas Marija, varētu izskatīties šādi:
ATLASĪT Uzvārdu
NO Kontaktiem
WHERE First_Name = "Marija";
Piezīme: SQL valoda tiek izmantots ne tikai operāciju veikšanai ar datiem, bet arī datu bāzes objektu, piemēram, tabulu, struktūras izveidei un modificēšanai. SQL daļu, kas tiek izmantota datu bāzes objektu izveidei un modificēšanai, sauc par DDL. DDL šajā rakstā nav apskatīts. Papildus informācija Skatiet sadaļu Tabulu vai indeksu izveide un modificēšana, izmantojot datu definīcijas vaicājumu.
SELECT tiek izmantots, lai aprakstītu datu kopu SQL. Tajā ir pilns datu kopas apraksts, kas jāizgūst no datu bāzes, tostarp:
tabulas, kas satur datus;
saiknes starp datiem no dažādiem avotiem;
lauki vai aprēķini, pamatojoties uz kuriem tiek atlasīti dati;
atlases nosacījumi, kuriem jāatbilst vaicājuma rezultātā iekļautajiem datiem;
šķirošanas nepieciešamība un metode.
SQL priekšraksts sastāv no vairākām daļām, ko sauc par klauzulām. Katrai klauzulai SQL priekšrakstā ir mērķis. Daži piedāvājumi ir obligāti. Tālāk esošajā tabulā ir uzskaitīti visbiežāk izmantotie SQL priekšraksti.
SQL klauzula | Apraksts | Obligāts |
---|---|---|
Definē laukus, kuros ir nepieciešamie dati. |
||
Definē tabulas, kas satur klauzulā SELECT norādītos laukus. |
||
Definē lauku atlases kritērijus, kuriem jāatbilst visiem rezultātos iekļautajiem ierakstiem. |
||
Norāda rezultātu kārtošanas secību. |
||
SQL priekšrakstā, kurā ir apkopotas funkcijas, norāda laukus, kuriem klauzulā SELECT netiek aprēķināta kopsavilkuma vērtība. |
Tikai tad, ja ir tādi lauki |
|
SQL priekšrakstā, kurā ir apkopotas funkcijas, tiek definēti nosacījumi, kas tiek piemēroti laukiem, kuriem SELECT klauzulā tiek aprēķināta kopsavilkuma vērtība. |
Katrs SQL teikums sastāv no terminiem, kurus var salīdzināt ar runas daļām. Tālāk esošajā tabulā ir norādīti SQL terminu veidi.
SQL termins | Salīdzināma runas daļa | Definīcija | Piemērs |
---|---|---|---|
identifikators |
lietvārds |
Nosaukums, ko izmanto, lai identificētu datu bāzes objektu, piemēram, lauka nosaukums. |
Klienti.[PhoneNumber] |
operators |
darbības vārds vai apstākļa vārds |
Atslēgvārds, kas attēlo vai maina darbību. |
|
nemainīgs |
lietvārds |
Vērtība, kas nemainās, piemēram, skaitlis vai NULL. |
|
izteiksme |
īpašības vārds |
Identifikatoru, operatoru, konstantu un funkciju kombinācija, kas tiek novērtēta līdz vienai vērtībai. |
>= Preces.[Cena] |
Vispārējais SQL priekšrakstu formāts ir:
ATLASĪT lauku_1
NO tabulas_1
KUR kritērijs_1
;
Piezīmes:
Access neievēro rindiņu pārtraukumus SQL priekšrakstā. Neskatoties uz to, katru teikumu ieteicams sākt jaunā rindiņā, lai SQL priekšraksts būtu viegli lasāms gan tam, kurš to uzrakstījis, gan visiem pārējiem.
Katrs SELECT priekšraksts beidzas ar semikolu (;). Semikols var būt vai nu pēdējā teikuma beigās, vai atsevišķā rindā SQL priekšraksta beigās.
Šis piemērs parāda, kā programmā Access varētu izskatīties SQL priekšraksts vienkāršam atlases vaicājumam.
1. SELECT klauzula
2. NO klauzula
3. WERE klauzula
Sadalīsim piemēru pa teikumiem, lai saprastu, kā darbojas SQL sintakse.
SELECT , Uzņēmums
Šī ir SELECT klauzula. Tajā ir (SELECT) priekšraksts, kam seko divi identifikatori ("[E-pasta adrese]" un "Uzņēmums").
Ja identifikatorā ir atstarpes vai īpašas zīmes(piemēram, "E-pasta adrese"), tas jāiekļauj kvadrātiekavās.
Klauzulā SELECT nav jānorāda tabulas, kurās ir lauki, un nevar norādīt atlases nosacījumus, kuriem jāatbilst rezultātos iekļaujamajiem datiem.
SELECT priekšrakstā klauzula SELECT vienmēr ir pirms klauzulas FROM.
NO Kontaktiem
Šī ir klauzula FROM. Tas satur paziņojumu (FROM), kam seko identifikators (Kontakti).
FROM klauzula nenorāda atlasāmos laukus.
KUR Pilsēta = "Sietla"
Šī ir WHERE klauzula. Tas satur operatoru (WHERE), kam seko izteiksme (City="Rostova").
Izmantojot klauzulas SELECT, FROM un WHERE, varat veikt daudzas darbības. Lai iegūtu papildinformāciju par šo piedāvājumu izmantošanu, skatiet šos rakstus:
Tāpat kā Microsoft Excel, arī Access ļauj kārtot vaicājuma rezultātus tabulā. Izmantojot klauzulu ORDER BY, varat arī norādīt, kā rezultāti tiks kārtoti, izpildot vaicājumu. Ja tiek izmantota klauzula ORDER BY, tai jābūt SQL priekšraksta beigās.
Klauzulā ORDER BY ir ietverts kārtojamo lauku saraksts tādā pašā secībā, kādā kārtošana tiks lietota.
Pieņemsim, piemēram, ka vispirms vēlaties kārtot rezultātus pēc lauka "Uzņēmums" dilstošā secībā un pēc tam, ja laukā "Uzņēmums" ir ieraksti ar vienādu vērtību, kārtojiet tos pēc "E-pasta adreses". " lauks augošā secībā. ORDER BY klauzula izskatītos šādi:
PASŪTĪJUMS PĒC UZŅĒMUMA DESC,
Piezīme: Pēc noklusējuma Access kārto vērtības augošā secībā (no A līdz Z, no mazākā līdz lielākajam). Lai kārtotu vērtības dilstošā secībā, ir jānorāda atslēgvārds DESC.
Papildinformāciju par punktu PASŪTĪJUMS skatiet sadaļā ORDER BY.
Dažreiz jums ir jāstrādā ar kopsavilkuma datiem, piemēram, kopējo ikmēneša pārdošanas apjomu vai dārgākajām precēm noliktavā. Lai to izdarītu, klauzula SELECT laukam piemēro apkopošanas funkciju. Piemēram, ja vaicājuma rezultāts ir katra uzņēmuma e-pasta adrešu skaits, SELECT klauzula var izskatīties šādi:
Iespēja izmantot vienu vai otru agregāta funkcija atkarīgs no datu veida laukā un vēlamās izteiksmes. Papildinformāciju par pieejamajām apkopošanas funkcijām skatiet rakstā SQL apkopošanas funkcijas.
Izmantojot apkopotās funkcijas, parasti ir jāizveido klauzula GROUP BY. Klauzula GROUP BY norāda visus laukus, kuriem netiek piemērota apkopošanas funkcija. Ja apkopotās funkcijas attiecas uz visiem vaicājuma laukiem, jums nav jāizveido klauzula GROUP BY.
GROUP BY klauzulai nekavējoties jāseko WHERE vai FROM klauzulai, ja nav WHERE klauzulas. Klauzulā GROUP BY lauki ir norādīti tādā pašā secībā kā klauzulā SELECT.
Turpināsim iepriekšējo piemēru. Ja klauzula SELECT piemēro tikai apkopošanas funkciju laukam [E-pasta adrese], tad klauzula GROUP BY izskatītos šādi:
GRUPA PĒC uzņēmuma
Papildinformāciju par GROUP BY klauzulu skatiet sadaļā GROUP BY.
Ja vēlaties norādīt nosacījumus, lai ierobežotu rezultātus, bet lauks, kuram vēlaties tos lietot, tiek izmantots apkopošanas funkcijā, jūs nevarat izmantot WHERE klauzulu. Tā vietā ir jāizmanto klauzula HAVING. HAVING klauzula darbojas tāpat kā WHERE klauzula, bet tiek izmantota apkopotiem datiem.
Pieņemsim, piemēram, ka AVG funkcija (kas aprēķina vidējo vērtību) tiek lietota pirmajam laukam klauzulā SELECT:
SELECT COUNT(), Uzņēmums
Ja vēlaties ierobežot vaicājuma rezultātus, pamatojoties uz funkcijas COUNT vērtību, šim klauzulā WHERE nevar piemērot filtra nosacījumu. Tā vietā nosacījums jāievieto klauzulā HAVING. Piemēram, ja vēlaties, lai vaicājums atgrieztu rindas tikai tad, ja uzņēmumam ir vairākas e-pasta adreses, varat izmantot šādu HAVING klauzulu:
AR SKAITĪŠANU()>1
Piezīme: Vaicājumā var būt iekļauta gan WHERE klauzula, gan HAVING klauzula ar nosacījumiem laukiem, kas netiek izmantoti WHERE klauzulā norādītajās apkopotajās funkcijās, un nosacījumi laukiem, kas tiek izmantoti apkopošanas funkcijās, ir norādīti klauzulā HAVING. .
Papildinformāciju par HAVING klauzulu skatiet sadaļā HAVING.
Operatoru UNION izmanto, lai vienlaikus skatītu visus datus, ko atgriezuši vairāki līdzīgi atlases vaicājumi, kā apvienotu kopu.
UNION operators ļauj apvienot divus SELECT priekšrakstus vienā. Kombinētajiem SELECT priekšrakstiem ir jābūt vienādam izvades lauku skaitam un secībai ar vienādiem vai saderīgiem datu tipiem. Kad vaicājums tiek izpildīts, dati no katras atbilstošo lauku kopas tiek apvienoti vienā izvades laukā, tāpēc vaicājuma izvadei ir tik daudz lauku, cik katram SELECT priekšrakstam atsevišķi.
Piezīme: Apvienības vaicājumos ciparu un teksta datu tipi ir saderīgi.
Izmantojot operatoru UNION, varat norādīt, vai vaicājuma rezultātos ir jāiekļauj rindu dublikāti, ja tādi ir. Lai to izdarītu, izmantojiet atslēgvārdu VISI.
Vaicājumam divu SELECT priekšrakstu savienošanai ir šāda pamata sintakse:
ATLASĪT lauku_1
NO tabulas_1
SAVIENĪBA
ATLASĪT lauku_a
NO tabulas_a
;
Pieņemsim, piemēram, ka ir divas tabulas ar nosaukumu “Produkti” un “Pakalpojumi”. Abās tabulās ir lauki ar preces vai pakalpojuma nosaukumu, cenu un garantijas informāciju, kā arī lauks, kas norāda uz piedāvātās preces vai pakalpojuma ekskluzivitāti. Neskatoties uz to, ka tabulas "Produkti" un "Pakalpojumi" paredz dažādi veidi garantijas, pamatinformācija ir tāda pati (vai tiek sniegta kvalitātes garantija atsevišķiem produktiem vai pakalpojumiem). Lai apvienotu četrus laukus no divām tabulām, varat izmantot šādu savienošanas vaicājumu:
ATLASĪT nosaukumu, cenu, garantiju_pieejams, ekskluzīvs_piedāvājums
NO produktiem
SAVIENĪBA VISU
ATLASĪT nosaukumu, cenu, garantiju_pieejams, ekskluzīvs_piedāvājums
NO pakalpojumiem
;
Papildinformāciju par SELECT priekšrakstu apvienošanu, izmantojot operatoru UNION, skatiet rakstā
Izglītības projekta "Veikals" aprakstsTabulas saišu shēma
Tabulu apraksts
m_category - produktu kategorijas
m_ienākums - preču saņemšana
m_outcome - preču patēriņš
m_product - direktorijs, produkta apraksts
m_supplier - direktorijs; piegādātāja informācija
m_unit - direktorijs; vienības
Lai praktiski pārbaudītu šajā apmācībā sniegtos piemērus, jums ir jābūt pieejamai šādai programmatūrai:
Microsoft Access 2003 vai jaunāka versija.
Lai pārslēgtos uz tabulas lauka rediģēšanas režīmu, augšējā panelī atlasiet Dizaina režīms:
Lai parādītu SQL vaicājuma rezultātu, veiciet dubultklikšķi uz vaicājuma nosaukuma kreisajā rūtī:
Lai pārslēgtos uz SQL vaicājuma rediģēšanas režīmu, augšējā panelī atlasiet SQL režīmu:
SQL vaicājums Q001. SQL vaicājuma piemērs, lai iegūtu tikai nepieciešamos laukus vēlamajā secībā:
SELECT dt, product_id, summa
SQL vaicājums Q002.Šajā SQL vaicājuma piemērā zvaigznīte (*) tiek izmantota, lai parādītu visas tabulas m_product kolonnas, citiem vārdiem sakot, lai iegūtu visus m_product relācijas laukus:
ATLASĪT*
NO m_produkts;
PieprasītSQLQ003. Paziņojums DISTINCT tiek izmantots, lai novērstu ierakstu dublikātus un iegūtu daudz unikālu ierakstu:
ATLASĪT ATŠĶIRĪGU produkta_id
SQL vaicājums Q004. Priekšraksts ORDER BY tiek izmantots, lai kārtotu (kārtotu) ierakstus pēc noteikta lauka vērtībām. Lauka nosaukums seko klauzulai ORDER BY:
ATLASĪT*
NO m_ienākumiem
SQL vaicājums Q005. ASC priekšraksts tiek izmantots papildus priekšrakstam ORDER BY un tiek izmantots, lai definētu augošu kārtošanu. DESC priekšraksts tiek izmantots papildus priekšrakstam ORDER BY un tiek izmantots, lai definētu dilstošu kārtošanu. Gadījumā, ja nav norādīts ne ASC, ne DESC, tiek pieņemts, ka ir ASC (noklusējums):
ATLASĪT*
NO m_ienākumiem
SQL vaicājums Q006. Lai atlasītu nepieciešamos ierakstus no tabulas, tiek izmantotas dažādas loģiskās izteiksmes, kas izsaka atlases nosacījumu. Būla izteiksme nāk aiz WHERE klauzulas. Piemērs, kā iegūt no tabulas m_income visus ierakstus, kuru summas vērtība ir lielāka par 200:
ATLASĪT*
NO m_ienākumiem
SQL vaicājums Q007. Lai izteiktu sarežģītus nosacījumus, izmantojiet loģiskās operācijas UN (konjunkcija), VAI (disjunkcija) un NOT (loģiskā noliegums). Piemērs, kā iegūt no tabulas m_outcome visus ierakstus, kuru summas vērtība ir 20 un cenas vērtība ir lielāka vai vienāda ar 10:
cena
SQL vaicājums Q008. Lai apvienotu datus no divām vai vairākām tabulām, izmantojiet priekšrakstus INNER JOIN, LEFT JOIN, RIGHT JOIN. Nākamajā piemērā tiek izgūti lauki dt, product_id, summa, cena no tabulas m_ienākums un nosaukuma lauks no tabulas m_product. Tabulas m_income ieraksts ir savienots ar tabulas m_product ierakstu, ja m_ienākums.product_id vērtība ir vienāda ar m_product.id vērtību:
SQL vaicājums Q009. Ir divas lietas, kurām jāpievērš uzmanība šajā SQL vaicājumā: 1) meklēšanas teksts ir ievietots atsevišķās pēdiņās ("); 2) datums ir formātā #Month/Day/Year#, kas ir pareizs MS. Piekļuve. Citās sistēmās datuma formāts var atšķirties.Piemērs informācijas parādīšanai par piena saņemšanu 2011. gada 12. jūnijā. Pievērsiet uzmanību datuma formātam #6/12/2011#:
SELECT dt, product_id, nosaukumu, summu, cenu
SQL vaicājums Q010. Instrukcija BETWEEN tiek izmantota, lai pārbaudītu, vai tai pieder vērtību diapazons. SQL vaicājuma piemērs, kas parāda informāciju par precēm, kas saņemtas laikā no 2011. gada 1. jūnija līdz 30. jūnijam:
ATLASĪT*
NO m_income IEKŠĒJS JOIN m_product
Pieprasīt Q011. Parāda informāciju par produktiem no tabulas m_product, kuru kodi ir arī tabulā m_income:
ATLASĪT*
NO m_product
Pieprasīt Q012. Tiek parādīts to produktu saraksts no tabulas m_product, kuru kodi nav tabulā m_outcome:
ATLASĪT*
NO m_product
Pieprasīt Q013.Šis SQL vaicājums atgriež unikālu kodu un produktu nosaukumu sarakstu, kuriem ir kodi tabulā m_income, bet nav m_outcome tabulā:
ATLASĪT ATŠĶIRĪGU produkta_id, nosaukumu
Pieprasīt Q014. No tabulas m_category tiek parādīts unikāls kategoriju saraksts, kuru nosaukumi sākas ar burtu M:
ATLASĪT ATŠĶIRĪGU nosaukumu
Pieprasīt Q015. Piemērs aritmētisko darbību veikšanai vaicājuma laukiem un vaicājuma lauku pārdēvēšanai (alias). Šajā piemērā tiek aprēķināti izdevumi = daudzums*cena un peļņa katram preces patēriņa ierakstam, pieņemot, ka peļņa ir 7 procenti no pārdošanas apjoma:
Pieprasīt Q016. Analizējot un vienkāršojot aritmētiskās darbības, varat palielināt vaicājuma izpildes ātrumu:
SELECT dt, product_id, summa, price, summa*price AS result_sum,
Pieprasīt Q017. Izmantojot priekšrakstu INNER JOIN, varat apvienot datus no vairākām tabulām. Nākamajā piemērā atkarībā no ctgry_id vērtības katrs ieraksts tabulā m_ienākums tiek saskaņots ar tās kategorijas nosaukumu no tabulas m_category, kurai pieder produkts:
ATLASĪT c.title, b.title, dt, summa, cena, summa*price AS ienākumu_summa
Pieprasīt Q018. Tādas funkcijas kā SUM — summa, COUNT — daudzums, AVG — vidējais aritmētiskais, MAX — maksimālā vērtība, MIN — minimālā vērtība tiek sauktas par apkopotajām funkcijām. Tie ņem vairākas vērtības un apstrādājot atgriež vienu vērtību. Lauku summas un cenas reizinājuma summas aprēķināšanas piemērs, izmantojot SUM apkopošanas funkciju:
SELECT SUM(summa*cena) AS Total_Sum
Pieprasīt Q019. Vairāku apkopošanas funkciju izmantošanas piemērs:
SELECT Sum (summa) AS Summa_Summa, AVG(summa) AS Summa_AVG,
Pieprasīt Q020.Šajā piemērā tiek aprēķināta visu 2011. gada jūnijā saņemto vienību ar kodu 1 summa:
SELECT Sum(summa*cena) AS ienākumu_summa
Pieprasīt Q021.Šis SQL vaicājums aprēķina, par cik preces ar kodu 4 vai 6 tika pārdotas:
SELECT Sum(summa*cena) kā iznākuma_summa
Pieprasīt Q022. Tiek aprēķināts, par kādu summu 2011.gada 12.jūnijā pārdotas preces ar kodu 4 vai 6:
SELECT Sum(summa*cena) AS iznākuma_summa
Pieprasīt Q023. Uzdevums ir šāds. Aprēķiniet kopējo summu, par kādu tika ieskaitītas kategorijas "Cepti izstrādājumi" preces.
Lai atrisinātu šo problēmu, jums jādarbojas ar trim tabulām: m_ienākums, m_produkts un m_kategorija, jo:
Lai atrisinātu šo problēmu, mēs izmantojam šādu algoritmu:
Pieprasīt Q024. Kategorijas "Cepti izstrādājumi" kopējās kreditēto preču summas aprēķināšanas problēma tiks atrisināta ar šādu algoritmu:
- katrs tabulas m_income ieraksts atkarībā no tā produkta_id vērtības no tabulas m_category atbilst kategorijas nosaukumam;
- atlasiet ierakstus, kuriem kategorija ir vienāda ar "Cepti produkti";
- aprēķināt ienākumu summu = daudzums * cena.
NO (m_produkts KĀ IEKŠĒJS PIEVIENOJUMS m_income AS b ON a.id=b.product_id)
WHERE c.title="Ceptas preces";
!}
Pieprasīt Q025.Šajā piemērā tiek aprēķināts, cik preču tika patērēts:
SELECT COUNT(product_id) AS product_cnt
Pieprasīt Q026. Klauzulu GROUP BY izmanto, lai grupētu ierakstus. Parasti ieraksti tiek grupēti pēc viena vai vairāku lauku vērtības, un katrai grupai tiek piemērota apkopošanas darbība. Piemēram, šāds vaicājums ģenerē pārskatu par preču pārdošanu. Tas nozīmē, ka tiek ģenerēta tabula, kurā būs preču nosaukumi un summa, par kādu tās tiek pārdotas:
SELECT virsraksts, SUM(summa*cena) AS iznākuma_summa
Pieprasīt Q027. Pārdošanas pārskats pa kategorijām. Tas ir, tiek ģenerēta tabula, kurā būs preču kategoriju nosaukumi, kopējā summa, par kādu tiek pārdotas šo kategoriju preces, un vidējais pārdošanas apjoms. Funkciju ROUND izmanto, lai noapaļotu vidējo vērtību līdz tuvākajai simtdaļai (otrā zīme aiz komata):
SELECT c.title, SUM(summa*cena) AS rezultātu_summa,
Pieprasīt Q028. Katrai precei tiek aprēķināts tās kopējais un vidējais čeku skaits un tiek parādīta informācija par precēm, kuru kopējais čeku skaits ir vismaz 500:
SELECT product_id, SUM(summa) AS summa_sum,
Pieprasīt Q029.Šis vaicājums katrai precei aprēķina 2011. gada otrajā ceturksnī veikto ieņēmumu summu un vidējo summu. Ja kopējā preču saņemšanas summa nav mazāka par 1000, tad tiek parādīta informācija par šo preci:
SELECT nosaukumu, SUM(summa*cena) AS ienākumu_summa
Pieprasīt Q030. Dažos gadījumos ir nepieciešams saskaņot katru kādas tabulas ierakstu ar katru citas tabulas ierakstu; ko sauc par Dekarta produktu. Šāda savienojuma rezultātā izveidoto tabulu sauc par Dekarta tabulu. Piemēram, ja kādā tabulā A ir 100 ieraksti un tabulā B ir 15 ieraksti, tad to Dekarta tabula sastāvēs no 100*15=150 ierakstiem. Šis vaicājums savieno katru ierakstu tabulā m_income ar katru ierakstu tabulā m_outcome:
NO m_income, m_outcome;
Pieprasīt Q031. Piemērs ierakstu grupēšanai pēc diviem laukiem. Šis SQL vaicājums katram piegādātājam aprēķina no viņa saņemto preču daudzumu un daudzumu:
Pieprasīt Q032. Piemērs ierakstu grupēšanai pēc diviem laukiem. Šis vaicājums katram piegādātājam aprēķina mūsu pārdoto preču daudzumu un daudzumu:
SELECT piegādātāja_id, produkta_id, SUM(summa) AS summa_summa,
Pieprasīt Q033.Šajā piemērā divi iepriekš minētie vaicājumi (q031 un q032) tiek izmantoti kā apakšvaicājumi. Šo vaicājumu rezultāti tiek apvienoti vienā atskaitē, izmantojot LEFT JOIN metodi. Nākamajā vaicājumā tiek parādīts pārskats par saņemto un pārdoto produktu skaitu un apjomu katram piegādātājam. Jāpievērš uzmanība tam, ka, ja kāda prece jau ir atnākusi, bet vēl nav pārdota, tad šī ieraksta šūna result_sum būs tukša. ka šis vaicājums ir tikai lietojuma piemērs attiecībā uz sarežģīti vaicājumi kā apakšvaicājumu. Performance dots pieprasījums SQL ar lielu datu apjomu ir apšaubāma:
ATLASĪT*
NO
Pieprasīt Q034.Šajā piemērā divi iepriekš minētie vaicājumi (q031 un q032) tiek izmantoti kā apakšvaicājumi. Šo vaicājumu rezultāti tiek apvienoti vienā atskaitē, izmantojot RIGTH JOIN metodi. Sekojošais vaicājums izdrukā atskaiti par katra klienta maksājumu apmēru par izmantotajām maksājumu sistēmām un veikto ieguldījumu apjomu. Nākamajā vaicājumā tiek parādīts pārskats par saņemto un pārdoto produktu skaitu un apjomu katram piegādātājam. Ņemiet vērā: ja prece jau ir pārdota, bet vēl nav saņemta, šī ieraksta šūna ienākumu_summa būs tukša. Šādu tukšu šūnu klātbūtne liecina par kļūdu pārdošanas uzskaitē, jo pirms pārdošanas vispirms ir jāsaņem atbilstošais produkts:
ATLASĪT*
NO
Pieprasīt Q035. Tiek parādīta atskaite par ienākumu un izdevumu apjomu pa precēm. Lai to izdarītu, tiek izveidots preču saraksts pēc tabulām m_income un m_outcome, pēc tam katram produktam no šī saraksta tiek aprēķināta tā ieņēmumu summa saskaņā ar tabulu m_income un tā izdevumu summa saskaņā ar tabulu m_outcome:
SELECT product_id, SUM(in_summa) AS ienākumu_summa,
Pieprasīt Q036. Funkcija EXISTS atgriež TRUE, ja tai nodotā kopa satur elementus. Funkcija EXISTS atgriež FALSE, ja tai nodotā kopa ir tukša, tas ir, tai nav elementu. Šis vaicājums atgriež produktu kodus, kas ir ietverti gan tabulā m_income, gan tabulā m_outcome:
ATLASĪT ATŠĶIRĪGU produkta_id
Pieprasīt Q037. Tiek parādīti produktu kodi, kas ir ietverti gan tabulā m_income, gan m_outcome:
ATLASĪT ATŠĶIRĪGU produkta_id
Pieprasīt Q038. Tiek parādīti produktu kodi, kas ir ietverti kā tabulā m_income, bet nav ietverti tabulā m_outcome:
ATLASĪT ATŠĶIRĪGU produkta_id
Pieprasīt Q039. Tiek parādīts to produktu saraksts, kuriem ir vislielākais pārdošanas apjoms. Algoritms ir šāds. Katrai precei tiek aprēķināta tā pārdošanas apjoma summa. Pēc tam tiek noteikta šo summu maksimālā summa. Pēc tam katrai precei atkal tiek aprēķināta tās pārdošanas summa, un tiek parādīts kods un preču pārdošanas summa, kuras pārdošanas summa ir vienāda ar maksimālo:
SELECT product_id, SUM(summa*cena) AS summa_sum
Pieprasīt Q040. Rezervētais vārds IIF (nosacījuma operators) tiek izmantots, lai novērtētu loģisko izteiksmi un veiktu darbību atkarībā no rezultāta (TRUE vai FALSE). Nākamajā piemērā preces piegāde tiek uzskatīta par "mazu", ja daudzums ir mazāks par 500. Pretējā gadījumā, tas ir, saņemšanas daudzums ir lielāks vai vienāds ar 500, piegāde tiek uzskatīta par "lielu":
SELECT dt, product_id, summa,
SQL vaicājums Q041. Gadījumā, ja IIF priekšraksts tiek izmantots vairākkārt, ērtāk to aizstāt ar SWITCH priekšrakstu. SWITCH operators (vairāku izvēļu operators) tiek izmantots, lai novērtētu loģisko izteiksmi un veiktu darbību atkarībā no rezultāta. Nākamajā piemērā piegādātā partija tiek uzskatīta par "mazu", ja preču daudzums partijā ir mazāks par 500. Pretējā gadījumā, tas ir, ja preču daudzums ir lielāks vai vienāds ar 500, partija tiek uzskatīta par "lielu". ":
SELECT dt, product_id, summa,
Pieprasīt Q042. Nākamajā vaicājumā, ja preču daudzums ienākošajā partijā ir mazāks par 300, tad partija tiek uzskatīta par "mazu". Pretējā gadījumā, t.i., ja nosacījuma summa SELECT dt, product_id, summa,
IIF(summa IIF(summa NO m_ienākums;
SQL vaicājums Q043. Nākamajā vaicājumā, ja preču daudzums ienākošajā partijā ir mazāks par 300, tad partija tiek uzskatīta par "mazu". Pretējā gadījumā, t.i., ja nosacījuma summa SELECT dt, product_id, summa,
SWITCH(summa summa summa>=1000,"liels") AS atzīme
NO m_ienākumiem;
SQL vaicājums Q044. Nākamajā vaicājumā pārdošana ir sadalīta trīs grupās: maza (līdz 150), vidēja (no 150 līdz 300), liela (300 un vairāk). Tālāk katrai grupai aprēķina kopējo summu:
SELECT Kategorija, SUM(rezultāta_summa) AS Ctgry_Total
SQL vaicājums Q045. Funkciju DateAdd izmanto, lai norādītajam datumam pievienotu dienas, mēnešus vai gadus un iegūtu jaunu datumu. Nākamais pieprasījums:
1) pievienojiet 30 dienas datumam no dt lauka un displeja jauns datums laukā dt_plus_30d;
2) pievienojiet 1 mēnesi datumam no lauka dt un parādiet jauno datumu laukā dt_plus_1m:
SELECT dt, dateadd("d",30,dt) AS dt_plus_30d, dateadd("m",1,dt) AS dt_plus_1m
SQL vaicājums Q046. Funkcija DateDiff ir paredzēta, lai aprēķinātu atšķirību starp diviem datumiem dažādās vienībās (dienās, mēnešos vai gados). Šis vaicājums aprēķina starpību starp datumu laukā dt un pašreizējo datumu dienās , mēnešos un gados:
SELECT dt, DateDiff("d", dt,Date()) AS pēdējā_diena,
SQL vaicājums Q047. Izmantojot funkciju DateDiff, tiek aprēķināts dienu skaits no preču saņemšanas datuma (m_ienākumu tabula) līdz pašreizējam datumam un tiek salīdzināts derīguma termiņš (m_product tabula):
SQL vaicājums Q048. Tiek aprēķināts dienu skaits no preces saņemšanas dienas līdz kārtējam datumam, pēc tam tiek pārbaudīts, vai šis skaits pārsniedz derīguma termiņu:
SELECT a.id, product_id, dt, lifedays,
SQL vaicājums Q049. Tiek aprēķināts mēnešu skaits no preces saņemšanas dienas līdz kārtējam datumam. Slejā month_last1 tiek aprēķināts absolūtais mēnešu skaits, slejā month_last2 tiek aprēķināts pilno mēnešu skaits:
SELECT dt, DateDiff("m", dt,Date()) AS month_last1,
SQL vaicājums Q050. Tiek parādīts ceturkšņa pārskats par saņemto preču daudzumu un apjomu par 2011. gadu:
SELECT kvartal, SUM(rezultāta_summa) AS Kopā
Pieprasīt Q051. Sekojošais vaicājums palīdz noskaidrot, vai lietotājiem ir izdevies sistēmā ievadīt informāciju par preču patēriņu par summu, kas lielāka par preču saņemšanas summu:
SELECT product_id, SUM(in_sum) AS ienākumu_summa, SUM(out_sum) AS rezultātu_summa
SELECT COUNT(*) kā N, b.id, b.product_id, b.amount, b.price
Pieprasīt Q053. Tiek parādīti pieci labākie produkti pēc pārdošanas apjoma. Pirmo piecu ierakstu izvade tiek veikta, izmantojot TOP instrukciju:
SELECT TOP 5, product_id, summa(summa*cena) AS summa
Pieprasīt Q054. Tiek parādīti pieci labākie produkti pēc pārdošanas apjoma, un rezultātā tiek numurētas rindas:
SELECT COUNT(*) AS N, b.product_id, b.summa
Pieprasīt Q055.Šis SQL vaicājums parāda matemātisko funkciju COS, SIN, TAN, SQRT, ^ un ABS izmantošanu MS Access SQL:
SELECT (atlasīt skaitu (*) no m_iencome) kā N, 3.1415926 kā pi, k,
UPDATE m_income SET cena = cena*1.1
Pieprasīt U002.Šis SQL atjaunināšanas vaicājums palielina visu produktu daudzumu tabulā m_income par 22 vienībām, kuru nosaukumi sākas ar vārdu "Sviests":
UPDATE m_income SET summa = summa+22
Pieprasīt U003.Šis SQL izmaiņu vaicājums tabulā m_outcome samazina visu OOO Sladkoe ražoto preču cenas par 2 procentiem:
UPDATE m_outcome SET cena = cena*0,98
SQL vaicājums ir vaicājums, kas izveidots, izmantojot SQL paziņojumus. SQL (strukturētā vaicājumu valoda) izmanto, lai izveidotu vaicājumus un atjauninātu un pārvaldītu relāciju datu bāzes, piemēram, Microsoft Access datu bāzes.
Kad lietotājs vaicājumu noformējuma skatā izveido vaicājumu, Microsoft Access automātiski izveido līdzvērtīgu SQL priekšrakstu. Ir vairāki vaicājumi, kurus var veikt tikai SQL režīmā. Pieredzējušiem programmētājiem bieži vien ir vieglāk uzreiz uzrakstīt izteiksmi SQL, nevis izveidot vaicājumu.
Pieprasījuma veids konstruktorā:
Izmantojot sarežģītus aprēķinus, jums secīgi jāveic vairāki pieprasījumi, lai iegūtu rezultātu. Ir skaidrs, ka šīs darbības jāveic automātiski, bez lietotāja iejaukšanās.
Šim nolūkam tiek izmantoti makro, kas sastāv no vairākām secīgi izpildītām komandām.
Aprēķini vaicājumos, iespēja veidot un rediģēt formulas.
Laukiem no vaicājuma shēmā norādītajām tabulām varat norādīt jebkuru aprēķinu.
Lai veiktu aprēķinus, vaicājumam jāpievieno papildu aprēķinātie lauki, kuru vērtības tiek aprēķinātas, pamatojoties uz citu vaicājuma lauku vērtībām.
Gala vaicājumi, grupēšana, gala funkcijas.
Galīgais vaicājums tiek izveidots, izmantojot režīmu - Kopsavilkuma vaicājums.
Var izmantot trīs tabulas, ieskaitot saišu tabulu.
Šajā gadījumā varat izsaukt konteksta izvēlni no jebkuras vaicājuma vietas (peles labā poga) un atlasīt atribūtu "grupas darbības".
Parādīsies pieprasījuma veidlapa jauna līnija Grupēšana.
Kopējās funkcijas: laukā, kuram mēs vēlamies aprēķināt kopsummas, sarakstā atlasiet funkciju "Summa", lai summētu visas atlasīto lauku vērtības. Funkcija Skaits saskaitīs lauka vērtību skaitu. informācijas rediģēšana microsoft
Vaicājums ir izsaukums DBVS, lai veiktu jebkādas datu darbības: datu daļas atlasīšana no kopējā apjoma, aprēķināto lauku pievienošana, datu lielapjoma maiņa utt.
Pieprasījumā jūs varat:
Pieprasījumu veidi:
Vaicājumi tiek izmantoti kā veidlapu un atskaišu ierakstu avoti. Lielākoties gan veidlapās, gan atskaitēs pirms izdošanas ir jāatlasa daļa datu atbilstoši kādiem nosacījumiem un jāsakārto dati. Tas tiek darīts ar pieprasījumiem. Pieprasījumu var uzglabāt atsevišķi vai saistīt ar veidlapu vai pārskatu.
Programmā Microsoft Access ir vairāki vaicājumu veidi.