Access SQL: pamatjēdzieni, vārdnīca un sintakse

Access SQL: pamatjēdzieni, vārdnīca un sintakse

Ja vēlaties izgūt datus no datu bāzes, jautājiet datus, izmantojot strukturētas vaicājuma valodas vai SQL. SQL ir datora valoda, kas vislabāk līdzinās angļu valodai, taču šī datu bāzes programma ir saprotama. Katram vaicājumam, ko izpildīsit, tiek izmantots SQL fonā.

Izpratne par to, kā SQL darbi var palīdzēt izveidot labākus vaicājumus, kā arī var vieglāk saprast, kā labot vaicājumu, kas neatgriež vēlamos rezultātus.

Šis raksts ietilpst rakstu kopā par Access SQL. Šajā rakstā ir aprakstīta SQL pamata lietošana, lai atlasītu datus, un izmantoti piemēri, lai ilustrētu SQL sintaksi.

Šajā rakstā

Kas ir SQL?

SQL ir datora valoda darbam ar faktu kopām un to relācijas. Relāciju datu bāzes programmas, piemēram, Microsoft Office Access, izmanto SQL, lai strādātu ar datiem. Atšķirībā no daudzām datora valodām SQL nav grūti lasīt un saprast pat iesācējam. Tāpat kā daudzas datora valodas, SQL ir starptautisks standarts, ko atpazīst standartizācijas struktūras, piemēram, ISO un ANSI.

Izmantojiet SQL, lai aprakstītu datu kopas, kas var palīdzēt atbildēt uz jautājumiem. Izmantojot SQL, ir jāizmanto pareizā sintakse. Sintakse ir kārtulu kopa, ar kuru valodas elementi tiek pareizi apvienoti. SQL sintakse ir balstīta uz angļu valodas sintaksi un izmanto daudzus no tiem pašiem elementiem, kas attiecas uz Visual Basic for Applications (VBA) sintaksi.

Piemēram, vienkāršs SQL priekšraksts, kas izgūst to kontaktpersonu uzvārdu sarakstu, kuru vārds ir Mērija, var izskatīties šādi:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Piezīme.: SQL ir paredzēts ne_tikai manipulēšanai ar datiem, bet arī datu bāzes objektu noformējuma izveidei un maiņai, piemēram, tabulām. Datu bāzes objektu izveidē un mainīšanu izmantoto SQL daļa tiek dēvēta par datu definēšanas valodu (DDL). Šajā tēmā neietilpst DDL. Lai iegūtu papildinformāciju, skatiet rakstu tabulu vai indeksu izveidošana vai modificēšana, izmantojot datu definīcijas vaicājumu.

SELECT priekšraksti

Lai aprakstītu datu kopu, izmantojot SQL, jāraksta priekšraksts SELECT. Priekšrakstā SELECT ir pilnīgs datu kopas apraksts, ko vēlaties iegūt no datu bāzes. Šeit ir iekļautas šādas funkcijas:

  • Tabulās ir iekļauti dati.

  • Kā dati no dažādiem avotiem ir saistīti.

  • Kādi lauki vai aprēķini izveidos datus.

  • Kritēriji, kuriem jāatbilst datiem.

  • Vai un kā kārtot rezultātus.

SQL klauzulas

Tāpat kā teikums, SQL priekšrakstā ir klauzulas. Katra klauzula veic SQL priekšraksta funkciju. Priekšrakstam SELECT ir nepieciešami daži nosacījumi. Tālāk redzamajā tabulā ir uzskaitītas biežāk lietotās SQL klauzulas.

SQL klauzula

Funkcija

Obligāts

SELECT

Uzskaita laukus, kuros ietverti interesējošie dati.

FROM

Uzskaita tabulas, kurās atrodas klauzulā SELECT uzskaitītie lauki.

WHERE

Norāda lauku kritērijus, kuriem jāatbilst katram ierakstam, lai tas tiktu iekļauts rezultātos.

ORDER BY

Norāda, kā kārtot rezultātus.

GROUP BY

SQL priekšrakstā, kurā iekļautas apkopošanas funkcijas, uzskaitīti lauki, kas nav apkopoti klauzulā SELECT.

Tikai tad, ja ir šādi lauki

HAVING

SQL priekšrakstā, kurā iekļautas apkopošanas funkcijas, norāda nosacījumus, kas attiecas uz priekšrakstā SELECT apkopotajiem laukiem.

SQL termini

Katra SQL klauzula sastāv no terminiem, ko var salīdzināt ar runas daļām. Tālāk esošajā tabulā ir norādīti SQL terminu tipi.

SQL termins

Līdzvērtīga daļa no runas

Definīcija

Piemērs

identifikators

lietvārdu

Nosaukums, kas tiek izmantots, lai identificētu datu bāzes objektu, piemēram, lauka nosaukumu.

Klientiem. [Tālruņa numurs]

operators

Verb vai apstākļa vārdu

Atslēgvārds, kas attēlo darbību vai modificē darbību.

AS

konstante

lietvārdu

Nemainīga vērtība, piemēram, skaitlis vai NULL.

42

izteiksme

īpašības vārds

Identifikatoru, operatoru, konstanšu un funkciju apvienojums, kas tiek novērtēts kā atsevišķa vērtība.

>= Products. [Vienības cena]

Uz lapas sākumu

Pamata SQL klauzulas: SELECT, FROM un WHERE

SQL priekšraksts ieņem vispārīgu formu:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Piezīmes.: 

  • Access ignorē rindiņu pārtraukumus SQL priekšrakstā. Tomēr apsveriet iespēju izmantot katrai klauzulai paredzēto līniju, lai uzlabotu savu SQL priekšrakstu lasāmību sev un citiem.

  • Katrs priekšraksts SELECT beidzas ar semikolu (;). Semikols var parādīties pēdējās klauzulas beigās vai rindiņā, kas atrodas SQL priekšraksta beigās.

Access piemērs

Tālāk ir parādīts, kā programmā Access var izskatīties vienkārša atlases vaicājuma SQL priekšraksts:

SQL objekta cilne, kurā redzams priekšraksts SELECT

1. SELECT klauzula

2. klauzula FROM

3. klauzula WHERE

Šajā piemērā SQL priekšraksts ir rakstīts "atlasiet datus, kas tiek glabāti laukos ar nosaukumu e-pasta adrese un uzņēmums no tabulas ar nosaukumu kontaktpersonas, jo īpaši tie ieraksti, kuros lauka vērtība ir Sietla."

Aplūkosim piemēru, pa vienai klauzulai, lai uzzinātu, kā darbojas SQL sintakse.

Klauzula SELECT

SELECT [E-mail Address], Company

Šī ir klauzula SELECT. Tas sastāv no operatora (SELECT), kam seko divi identifikatori ([e-pasta adrese] un uzņēmums).

Ja identifikatorā ir tukšumzīmes vai speciālās rakstzīmes (piemēram, e-pasta adrese), tā ir jāietver kvadrātiekavās.

Klauzulā SELECT nav jāsaka, kurās tabulās ir iekļauti lauki, un tā nevar norādīt nosacījumus, kas jāizpilda, iekļaujot datus.

Klauzula SELECT vienmēr tiek parādīta priekšraksta SELECT priekšpusē.

Klauzula FROM

FROM Contacts

Šī ir klauzula FROM. Tajā ir operators (no), kam seko identifikators (kontaktpersonas).

Klauzulā FROM netiek uzskaitīti atlasītie lauki.

Klauzula WHERE

WHERE City="Seattle"

Šī ir klauzula WHERE. To veido operators (WHERE), kam seko izteiksme (pilsēta = "Sietla").

Piezīme.: Atšķirībā no klauzulas SELECT un FROM, klauzula WHERE nav obligāts priekšraksta SELECT elements.

Jūs varat izpildīt daudzas darbības, ko SQL ļauj veikt, izmantojot klauzulu SELECT, FROM un WHERE. Papildinformācija par šo klauzulu lietošanu ir sniegta šajos papildu rakstos:

Uz lapas sākumu

Rezultātu kārtošana

Piemēram, Microsoft Excel, Access sniedz iespēju kārtot vaicājuma rezultātus datu lapā. Varat arī norādīt vaicājumu, kā vēlaties kārtot rezultātus, kad vaicājums tiek izpildīts, izmantojot klauzulu ORDER BY. Ja izmantojat klauzulu ORDER BY, tā ir pēdējā klauzula SQL priekšrakstā.

Klauzulā ORDER BY ir saraksts ar laukiem, kurus vēlaties izmantot kārtošanai, tādā pašā secībā, kādā vēlaties lietot kārtošanas darbības.

Piemēram, pieņemsim, ka vēlaties, lai rezultāti tiktu sakārtoti vispirms pēc lauku uzņēmuma vērtības dilstošā secībā, un, ja pastāv ieraksti ar tādu pašu vērtību uzņēmumam, kas tiek kārtoti blakus lauka e-pasta adreses vērtībām augošā secībā. Klauzula ORDER BY izskatās šādi:

ORDER BY Company DESC, [E-mail Address]

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). Izmantojiet atslēgvārdu, lai kārtotu vērtības dilstošā secībā.

Papildinformāciju par klauzulu ORDER BY skatiet sadaļā klauzula ORDER BY.

Uz lapas sākumu

Darbs ar kopsavilkuma datiem: grupēšana pēc un NEPIECIEŠAMĪBas

Dažkārt jūs vēlaties strādāt ar kopsavilkuma datiem, piemēram, par pārdošanas kopsummu mēnesī vai visdārgākajiem krājumiem krājumos. Lai to izdarītu, lietojiet apkopošanas funkcija klauzulas SELECT lauku. Piemēram, ja vēlaties, lai vaicājums rādītu katram uzņēmumam norādīto e-pasta adrešu skaitu, klauzula SELECT var izskatīties šādi:

SELECT COUNT([E-mail Address]), Company

Uzkrātās funkcijas, ko varat izmantot, ir atkarīgas no tā lauka vai izteiksmes datu tipa, kuru vēlaties izmantot. Papildinformāciju par pieejamajām apkopotajām funkcijām skatiet rakstā SQL apkopojošāsfunkcijas.

Lauku, kas netiek izmantoti summēšanas funkcijā, norādīšana: Klauzula GROUP BY

Izmantojot funkciju apkopošana, parasti ir jāizveido arī klauzula GROUP BY. Klauzulā GROUP BY ir uzskaitīti visi lauki, kuros nelietojat apkopošanas funkciju. Ja visiem vaicājuma laukiem tiek lietotas Uzkrātās funkcijas, jums nav jāveido Klauzula GROUP BY.

Klauzula GROUP BY uzreiz seko klauzulai WHERE vai klauzula FROM, ja klauzula WHERE nav. Klauzulā GROUP BY ir uzskaitīti lauki, kas tiek parādīti klauzulā SELECT.

Piemēram, turpinot iepriekšējo piemēru, ja klauzula SELECT attiecas uz summēšanas funkciju [e-pasta adresi], bet ne uz uzņēmumu, jūsu grupēšana pēc klauzulas ir līdzīga šīm:

GROUP BY Company

Papildinformāciju par klauzulu GROUP BY skatiet sadaļā tēma Group by.

Summēto vērtību ierobežošana, izmantojot grupas kritērijus: Klauzula HAVING

Ja vēlaties izmantot kritērijus, lai ierobežotu rezultātus, bet lauks, kuram vēlaties lietot kritērijus, tiek izmantots funkcijā apkopošana, jūs nevarat izmantot klauzulu WHERE. Tā vietā jūs izmantojat klauzulu HAVING. Klauzula HAVING darbojas kā klauzula WHERE, bet tiek izmantota uzkrātajiem datiem.

Piemēram, pieņemsim, ka izmantojat funkciju AVG (kura aprēķina vidējo vērtību) ar pirmo lauku klauzulā SELECT.

SELECT COUNT([E-mail Address]), Company

Ja vēlaties, lai vaicājums ierobežotu rezultātus, pamatojoties uz funkciju COUNT vērtību, šī lauka kritērijus nevar izmantot klauzulā WHERE. Tā vietā varat ievietot kritērijus klauzulā HAVING. Piemēram, ja vēlaties, lai vaicājums atgrieztu rindas tikai tad, ja ar uzņēmumu ir saistīta vairāk nekā viena e-pasta adrese, Klauzula HAVING var izskatīties šādi:

HAVING COUNT([E-mail Address])>1

Piezīme.: Vaicājumam var būt klauzula WHERE un Klauzula HAVING — kritēriji laukiem, kas netiek izmantoti apkopojuma funkcijā, un kritēriji laukiem, kas tiek izmantoti kopā ar apkopojuma funkcijām, tiek iekļauti klauzulā WHERE.

Papildinformāciju par klauzulu HAVING skatiet tēmā klauzulu HAVING.

Uz lapas sākumu

Vaicājumu rezultātu apvienošana: UNION

Ja vēlaties pārskatīt visus datus, kas tiek atgriezti, izmantojot vairākus līdzīgus atlases vaicājumus kopā, kā apvienotu kopu, izmantojiet operatoru UNION.

Operators UNION ļauj apvienot divus SELECT priekšrakstus vienā. Atlases priekšrakstos SELECT ir jābūt vienādam izvades lauku skaitam tādā pašā secībā un ar tiem pašiem vai saderīgiem datu tipiem. Izpildot vaicājumu, katras atbilstošo lauku kopas dati tiek apvienoti vienā izvades laukā, tāpēc vaicājuma izvadē ir vienāds lauku skaits, kas atbilst katram priekšrakstam SELECT.

Piezīme.: Apvienošanas vaicājuma nolūkos datu tipi Number un Text ir saderīgi.

Ja izmantojat operatoru UNION, varat arī norādīt, vai vaicājuma rezultātos jāiekļauj rindu dublikāti, ja tādas pastāv, izmantojot visu atslēgas vārdu.

Apvienošanas vaicājuma SQL sintakse, kurā apvienoti divi priekšraksti SELECT, ir šāds:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Piemēram, pieņemsim, ka jums ir tabula ar nosaukumu Products un citas tabulas ar nosaukumu pakalpojumi. Abās tabulās ir lauki, kuros ietverts produkta vai pakalpojuma nosaukums, cena, garantija vai garantijas pieejamība un tas, vai piedāvājat tikai produktu vai pakalpojumu. Lai gan tabulā Products tiek glabāta informācija par garantijām un pakalpojumu tabula saglabā garantijas informāciju, pamatinformācija ir tāda pati (neatkarīgi no tā, vai konkrēts produkts vai pakalpojums ietver kvalitātes solījumu). Apvienošanas vaicājumu, piemēram, tālāk norādītos, var izmantot, lai apvienotu šos četrus laukus no abām tabulām:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Papildinformāciju par to, kā apvienot SELECT priekšrakstus, izmantojot operatoru UNION, skatiet rakstā vairāku atlases vaicājumu rezultātu apvienošana, izmantojot apvienošanas vaicājumu.

Uz lapas sākumu

Vai nepieciešama papildu palīdzība?

Paplašiniet savas Office prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×