SQL priekšrakstu rediģēšana asākam vaicājuma rezultātiem
Applies ToAccess pakalpojumam Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Ja vaicājumi pietiekami nepalīdz, pievienojot pamata priekšrakstus, SQL var labāk koncentrēties uz rezultātiem. Apskatīsim dažu veidu SQL priekšrakstus un klauzulas vai daļas, ko varat rediģēt, lai iegūtu vēlamos rezultātus.

Piezīme.:  Šis raksts neattiecas uz Access tīmekļa lietojumprogrammām — tāda veida datu bāzi, kas tiek izstrādāta programmā Access un publicēta tiešsaistē.

Šajā rakstā

Priekšraksta Select izveide

SQL atlases priekšrakstam ir divas līdz trīs klauzulas. Klauzula SELECT norāda datu bāzei, kur meklēt datus, un pieprasa, lai tā atgriež konkrētu rezultātu.

Piezīme.:  Priekšraksti SELECT vienmēr beidzas ar semikolu (;) vai nu pēdējās klauzulas beigās, vai arī uz rindas atsevišķi SQL priekšraksta beigās.

Šajā atlases priekšrakstā programma Access tiek aicināta iegūt informāciju no kolonnām E-pasta adrese un Uzņēmums no tabulas Kontaktpersonas, īpaši, ja kolonnā Pilsēta tā atrod "Sietla".

SQL objekta cilne, kurā redzams priekšraksts SELECT

Iepriekš minētām vaicājumam ir trīs klauzulas SELECT, FROM un WHERE.

1. Klauzulā SELECT ir uzskaitītas kolonnas, kurās ir dati, ko vēlaties izmantot, un ir operators (SELECT), kam seko divi identifikatori (E-pasta adrese un uzņēmums). Ja identifikatorā ir atstarpes vai speciālās rakstzīmes (piemēram, "E-pasta adrese"), iekļaujiet identifikatoru kvadrātiekavās.

2. Klauzula FROM identificē avota tabulu. Šajā piemērā tam ir operators (FROM), kam seko identifikators (Kontaktpersonas).

3. Klauzula WHERE ir papildu klauzula. Piemērā ir operators (WHERE), kam seko izteiksme (City="Seattle").

Papildinformāciju par atlases vaicājumiem skatiet rakstā vienkārša atlases vaicājuma izveide.

Lūk, bieži lietoto SQL klauzulu saraksts:

SQL klauzula

Funkcija

Vai obligāts ?

SELECT

Uzskaita laukus, kuros ir interešu dati.

FROM

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

WHERE

Norāda lauku kritērijus, kas jāizpilda katram ierakstam, lai tie tiktu iekļauti rezultātos.

ORDER BY

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

GROUP BY

SQL priekšrakstā, kurā ir apkopošanas funkcijas, uzskaita laukus, kas nav summēti klauzulā SELECT.

Tikai tad, ja ir šādi lauki

HAVING

SQL priekšrakstā, kurā ir apkopošanas funkcijas, norāda nosacījumus, kas attiecas uz laukiem, kuri ir apkopoti priekšrakstā SELECT.

Katru SQL klauzulu veido termini. Šeit ir saraksts ar dažiem bieži lietotiem SQL terminiem.

SQL termins

Definīcija

Piemērs

identifikators

Nosaukums, ko izmanto, lai identificētu datu bāzes objektu, piemēram, kolonnas nosaukums.

[E-pasta adrese] un uzņēmums

operators

Atslēgvārds, kas apzīmē darbību vai modificē darbību.

AS

konstante

Vērtība, kas nemainās, piemēram, skaitlis vai NULL.

42

izteiksme

Identifikatoru, operatoru, konstanšu un funkciju kombinācija, kas tiek novērtēta ar vienu vērtību.

>= Produkti. [Vienības cena]

Uz lapas sākumu

Klauzulas SELECT pielāgošana

Pielāgošana

Piemērs

Lai skatītu tikai noteiktas vērtības.

Klauzulā SELECT izmantojiet atslēgvārdu DISTINCT.

Piemēram, ja klienti ir no vairākiem dažādiem filiālēm un dažiem ir viens tālruņa numurs, bet dažiem tālruņu numuri ir norādīti tikai vienu reizi, klauzula SELECT būtu šāda:

SELECT DISTINCT [txtCustomerPhone] 

Lai mainītu veidu, kā identifikators tiek rādīts datu lapas skatā, lai uzlabotu lasāmību.

Klauzulā SELECT izmantojiet operatoru AS (atslēgvārds, kas apzīmē darbību vai modificē darbību) ar lauka aizstājvārdu. Lauka aizstājvārds ir nosaukums, kas tiek piešķirts laukam, lai rezultāti būtu vieglāk lasāmi.

SELECT [txtCustPhone] AS [Customer Phone]

Klauzulas FROM pielāgošana

Pielāgošana

Piemērs

Var izmantot tabulas aizstājvārdu vai citu nosaukumu, ko piešķirat tabulai atlases priekšrakstā. Tabulas aizstājvārds ir noderīgs, ja tabulas nosaukuma nosaukums ir garš, īpaši, ja ir vairāki lauki ar vienādu nosaukumu no dažādām tabulām.

Lai atlasītu datus divos laukos, kuru nosaukums ir ID, viens no tiem ir tabulas tblCustomer, bet otra — tabulā tblOrder:

SELECT [tblCustomer].[ID],        [tblOrder].[ID]

Izmantojiet operatoru AS, lai definētu tabulu aizstājvārdu klauzulā FROM:

FROM [tblCustomer] AS [C],      [tblOrder] AS [O] 

Pēc tam varat izmantot šos tabulu aizstājvārdu klauzulā SELECT šādi:

SELECT [C].[ID],        [O].[ID]

Izmantojiet savienojumus, lai apvienotu ierakstu pārus no diviem datu avotiem vienā rezultātā vai norādītu, vai iekļaut ierakstus no abām tabulām, ja saistītajā tabulā nav atbilstoša ieraksta.

Savienojiet tabulas, lai vaicājums apvienotu vienumus no tabulām, un izslēdz vienumus, ja otrā tabulā nav atbilstoša ieraksta.

Klauzula FROM varētu izskatīties šādi:

FROM [tblCustomer] INNER JOIN [tblOrder]ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID] 

Par savienojumu izmantošana

Pastāv divi savienojumu tipi: iekšējie un ārējie savienojumi. Iekšējie savienojumi vaicājumos ir izplatītāk. Izpildot vaicājumu ar iekšējo savienojumu, rezultāts parāda tikai tos vienumus, kuriem pastāv kopīga vērtība abās savienotās tabulās.

Ārējie savienojumi norāda, vai ietvert datus, ja nepastāv kopīga vērtība. Ārējie savienojumi ir virziena savienojums, kas nozīmē, ka var norādīt, vai ietvert visus ierakstus no savienojuma pirmās tabulas (dēvēts par kreiso savienojumu) vai ietvert visus ierakstus no savienojuma otrās tabulas (dēvēts par labo savienojumu). Ārējai savienojumam ir šāda SQL sintakse:

FROM table1 [ LEFT | RIGHT ] JOIN table2ON table1.field1 = table2.field2

Skatiet papildinformāciju par savienojumu izmantošana vaicājumā sadaļā Tabulu un vaicājumu apvienošana.

Uz lapas sākumu

Klauzulas WHERE pielāgošana

Klauzulā WHERE ir kritēriji, kas palīdz ierobežot vaicājumā atgriezto vienumu skaitu. Skatiet vaicājumu kritēriju piemērus un to darbību.

Piemērs, kā varat pielāgot pamata klauzulu WHERE, ir vaicājuma rezultātu ierobežošana. Pieņemsim, ka vēlaties atrast klienta tālruņa numuru un atceraties tikai viņa uzvārdu kā Bagel. Šajā piemērā uzvārdi tiek glabāti laukā LastName, tāpēc SQL sintakse būtu:

WHERE [LastName]='Bagel'

Izmantojiet klauzulu WHERE, lai apvienotu datu avotus kolonnām, kurās ir atbilstīgi dati, bet atšķirīgi datu tipi. Tas ir noderīgs, jo nevar izveidot savienojumu starp laukiem, kuriem ir atšķirīgi datu tipi. Izmantojiet vienu lauku kā kritēriju otram laukam ar atslēgvārdu LIKE . Piemēram, ja vēlaties izmantot datus no tabulas Līdzekļi un tabulas Darbinieki, tikai tad, ja līdzekļa tips tabulas Līdzekļi laukā Līdzekļu tips ir skaitlis 3 tabulas Darbinieki laukā Daudzums, lūk, kā izskatīsies klauzula Where:

WHERE field1 LIKE field2

Svarīgi!:  Nevar norādīt kritērijus laukam, ko klauzulā WHERE izmanto ar apkopošanas funkciju. Tā vietā ir jāizmanto klauzula HAVING, lai norādītu kritērijus apkopotiem laukiem.

Uz lapas sākumu

Pielāgošana ar operatoru UNION

Izmantojiet operatoru UNION, ja vēlaties skatīt vairāku līdzīgu atlases vaicājumu rezultātu kombinēto skatu. Piemēram, ja datu bāzē ir tabula Produkti un pakalpojumu tabula un tajās ir trīs lauki: ekskluzīvs piedāvājums vai produkts vai pakalpojums, cena, garantija vai garantija. Lai gan tabulā Produkti tiek glabāta garantijas informācija, un pakalpojumu tabulā tiek glabāta garantijas informācija, pamatinformācija ir tā pati. Apvienošanas vaicājumu var izmantot, lai apvienotu trīs laukus no divām tabulām šādi:

SELECT name, price, warranty, exclusive_offerFROM ProductsUNION ALLSELECT name, price, guarantee, exclusive_offer FROM Services;

Vaicājuma izpildes laikā dati no katras atbilstošo lauku kopas tiek apvienoti vienā izvades laukā. Lai rezultātos iekļautu dublētas rindas, izmantojiet operatoru ALL.

Piezīme.:  Priekšrakstam Select jābūt vienādam izvades lauku skaitam vienā un tajā pašā secībā un ar tiem pašiem vai saderīgiem datu tipiem. Ar savienojuma vaicājumu datu tipi Skaitlis un Teksts ir saderīgi.

Papildinformāciju par apvienošanas vaicājumiem skatiet rakstā Apvienošanas vaicājuma izmantošana, lai skatītu vienotu rezultātu no vairākiem vaicājumiem.

Uz lapas sākumu

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.