SQL priekšrakstu rediģēšana, lai precizētu vaicājuma rezultātus

SQL priekšrakstu rediģēšana, lai precizētu vaicājuma rezultātus

Piezīme.:  Mēs vēlamies sniegt jums visjaunāko palīdzības saturu jūsu valodā, cik vien ātri to varam. Šī lapa ir tulkota automatizēti, un tajā var būt gramatiskas kļūdas un neprecizitātes. Mūsu nolūks ir šo saturu padarīt jums noderīgu. Vai lapas lejasdaļā varat mums pavēstīt, vai informācija jums noderēja? Ērtai atsaucei šeit ir šis raksts angļu valodā .

Ja vaicājumi nestrādā pietiekami labi, dažu vienkāršu SQL priekšrakstu pievienošana var palīdzēt fokusēt iegūtos rezultātus. Aplūkojiet dažus SQL priekšrakstu veidus un klauzulas vai daļas, kuras, iespējams, gribēsit rediģēt, lai iegūtu vēlamo rezultātu.

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

Klauzulas SELECT pielāgošana

Klauzulas FROM pielāgošana

Klauzulas WHERE pielāgošana

Pielāgošana ar operatoru UNION

Priekšraksta SELECT izveide

SQL priekšrakstiem SELECT ir divas trīs klauzulas. Klauzula SELECT norāda datu bāzei, kur meklēt datus, un prasa atgriezt konkrētu rezultātu.

Piezīme.: Priekšrakstu SELECT beigās vienmēr ir semikols (;), tas var būt gan pēdējās klauzulas beigās, gan atsevišķā rindā SQL priekšraksta beigās.

Šis priekšraksts SELECT pieprasa programmai Access informāciju no kolonnām E-pasta adrese un Uzņēmums, no kontaktpersonu tabulas, kuras kolonnā Pilsēta ir norādīts Sietla.

SQL objekta cilne, kurā redzams priekšraksts SELECT

Šajā vaicājumā tiek izmantotas trīs klauzulas: SELECT, FROM un WHERE

1. Klauzula SELECT uzskaita kolonas, kurās ir izmantojamie dati, un tai 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 to kvadrātiekavās.

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

3. Klauzula WHERE ir neobligāta klauzula. Šajā piemērā te ietilpst operators (WHERE), kam seko izteiksme (Pilsēta="Sietla").

Lai iegūtu papildinformāciju par select vaicājumiem skatiet rakstā, izveidot vienkāršu atlases vaicājumu.

Lūk, biežāk izmantoto SQL klauzulu saraksts:

SQL klauzula

Funkcija

Nepieciešams ?

SELECT

Uzskaita laukus, kuros atrodas vajadzīgie 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 rezultātu kārtošanas veidu.

GROUP BY

SQL priekšraksts, kurā iekļautas apkopošanas funkcijas; uzskaita laukus, kuri 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 jālieto attiecībā uz priekšrakstā SELECT apkopotajiem laukiem.

Katra SQL klauzula tiek veidota, izmantojot terminus. Šajā tabulā ir norādīti populārākie SQL termini.

SQL termins

Definīcija

Piemērs

Identifikators

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

[E-pasta adrese] un Uzņēmums

Operators

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

AS

Konstante

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

42

Izteiksme

Identifikatoru, operatoru, konstanšu un funkciju apvienojums, kas tiek novērtēts ar vienu vērtību.

>= Produkti.[vienības cena]

Uz lapas sākumu

Klauzulas SELECT pielāgošana

Pielāgošana

Piemērs

Lai redzētu tikai atsevišķas vērtības.

Izmantojiet atslēgvārdu DISTINCT savā klauzulā SELECT.

Piemēram, jūsu klienti ir no dažādām uzņēmuma struktūrvienībām un vairākiem no tiem ir vienādi tālruņa numuri, bet jūs vēlaties, lai tālruņa numurs sarakstā būtu pieminēts tikai vienu reizi; šādā gadījumā klauzula SELECT izskatītos šādi:

SELECT DISTINCT [txtCustomerPhone] 

Lai mainītu veidu, kā identifikators ir redzams datu lapā un uzlabotu lasāmību.

Izmantojiet operatoru AS (atslēgvārds, kas pārstāv vai modificē darbību) ar lauka aizstājvārdu savā klauzulā SELECT. Lauka aizstājvārds ir nosaukums, kas tiek piešķirts, lai uzlabotu rezultātu lasāmību.

SELECT [txtCustPhone] AS [Customer Phone]

Klauzulas FROM pielāgošana

Pielāgošana

Piemērs

Varat izmantot tabulas aizstājvārdu vai citu nosaukumu, ko piešķirat tabulai priekšrakstā SELECT. Tabulas aizstājvārds var būt noderīgs, ja datu avota nosaukums ir garš un īpaši gadījumos, ja dažādās tabulās ir vairāki lauki ar vienādu nosaukumu.

Lai atlasītu datus divos laukos, kuru nosaukums ir ID, bet viens lauks atrodas tabulā tblCustomer (tabula_Klienti), bet otrs tabulā tblOrder (tabula_Pasūtījumi):

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

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

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

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

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

Izmantojiet savienojumus, lai divu datu avotu ierakstu pāri vaicājuma rezultātos apvienotu vienā ierakstā vai norādītu, vai iekļaut ierakstus no katras tabulas, ja saistītajā tabulā nav atbilstošu ierakstu.

Savienojiet tabulas tā, lai vaicājumā būtu apvienoti šo tabulu vienumi un izslēgti gadījumi, kad kādā tabulā nav otrai tabulai atbilstoša ieraksta

Šādi varētu izskatīties gatava klauzula FROM:

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

Savienojumu izmantošana

Ir divu veidu savienojumi: iekšējie un ārējie savienojumi. Iekšējie savienojumi vaicājumos ir sastopami biežāk. Izpildot vaicājumu ar iekšējo savienojumu, vaicājuma rezultātos tiek iekļauti tikai tie vienumi, kuru vispārējā vērtība pastāv abās savienotajās tabulās.

Ārējie savienojumi norāda, vai dati jāiekļauj gadījumos, kad nav vispārējas vērtības. Ārējiem savienojumiem ir virziens: varat norādīt, vai savienojumā jāiekļauj visi pirmās tabulas ieraksti (to sauc par kreiso savienojumu) vai visi otrās tabulas ieraksti (to sauc par labo savienojumu). Ārējam savienojumam ir šāda SQL sintakse:

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

Papildinformāciju lasiet sadaļā savienojumu izmantošana vaicājuma tabulu un vaicājumu savienojumi.

Uz lapas sākumu

Klauzulas WHERE pielāgošana

Klauzula WHERE kritēriji, kas palīdz atgriezto vaicājumā elementu skaita ierobežošana. Skatiet rakstu vaicājumu kritēriju piemēri un kā tie darbojas.

Vienkāršas klauzulas WHERE izmantošanas piemērs ir vaicājuma rezultātu ierobežošana; pieņemsim, ka vēlaties noskaidrot klienta tālruņa numuru, taču atceraties tikai to, ka klienta uzvārds ir Bērziņš. Šajā piemērā uzvārdi tiek glabāti laukā LastName (Uzvārds), tātad klauzula WHERE būs šāda:

WHERE [LastName]='Bagel'

Arī Lietojiet klauzulu WHERE, lai apvienotu kolonnas, kurās ir dati, bet dažādu datu tipu atbilstošu datu avoti. Tas ir īpaši noderīgs, jo nevar izveidot savienojumu starp laukiem, kuriem ir atšķirīgi datu tipi. Izmantot citu lauku, izmantojot atslēgvārdu vienu lauku kā kritēriju. Piemēram, ja vēlaties izmantot aktīvu tabulas un darbinieku tabulas datus, tikai tad, ja līdzekļu aktīva veida tips aktīvi tabulas lauks ir 3 laukā daudzums skaits tabulas Employees, Lūk, kā izskatīsies jūsu klauzula WHERE :

WHERE field1 LIKE field2

Svarīgi!:  Apkopotu datu laukam klauzulā WHERE nevar norādīt kritērijus. Lai norādītu kritērijus, kas jālieto apkopotu datu laukos, šīs klauzulas vietā jāizmanto klauzula HAVING.

Uz lapas sākumu

Pielāgošana ar operatoru UNION

Izmantojiet operatoru UNION, ja vēlaties redzēt apvienotu vairāku līdzīgu vaicājumu rezultātu skatu. Piemēram, ja jums ir tabula Product (Produkti) un tabula Services (Pakalpojumi) un abās tabulās ir trīs lauki: ekskluzīvs piedāvājums vai produkta vai pakalpojuma nosaukums, cena, ražotāja vai pakalpojuma sniedzēja garantijas pieejamība. Lai gan tabulā Product (Produkti) tiek glabāta informācija par ražotāja garantiju un tabulā Services (Pakalpojumi) tiek glabāta informācija par pakalpojumu sniedzēja garantiju, pamatinformācija ir vienāda. Apvienošanas vaicājumu var izmantot šādi, lai apvienotu trīs abu tabulu laukus:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Izpildot vaicājumu, dati no katras atbilstošo lauku kopas tiek kombinēti vienā izvades laukā. Lai rezultātos neiekļautu dublicētas rindas, izmantojiet operatoru ALL.

Piezīme.:  Priekšrakstiem SELECT jābūt ar vienādu izvades lauku skaitu, vienādu secību un vienādiem vai saderīgiem lauku tipiem. Apvienošanas vaicājuma izmantošanas gadījumā datu tipi Number un Text ir saderīgi.

Papildinformāciju par apvienošanas vaicājumiem skatiet rakstā izmantojot apvienošanas vaicājumu, lai skatītu vienotu rezultātu no vairākiem vaicājumiem.

Uz lapas sākumu

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 varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×