Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Šis raksts ietilpst rakstu kopā par Access SQL. Šajā rakstā ir paskaidrots, kā rakstīt klauzulu FROM, kā arī sniegti piemēri, lai attēlotu dažādas metodes, ko varat izmantot klauzulā FROM.

Priekšrakstā SELECT ir jānorāda datu avoti klauzulā FROM. Klauzula FROM var ietvert arī darbību JOIN. Darbību JOIN izmanto, lai salīdzinātu un apvienotu datus no diviem datu avotiem, piemēram, divām tabulām vai tabulas un vaicājuma.

Pārskatu par Access SQL skatiet rakstā Access SQL: pamatjēdzieni, vārdnīca un sintakse.

Šajā rakstā

Datu avotu norādīšana

Priekšrakstā SELECT klauzula Where norāda tabulas vai vaicājumus, kas ietver datus, ko klauzula SELECT izmantos.

Pieņemsim, ka vēlaties uzzināt konkrēta klienta tālruņa numuru. Ja tās tabulas nosaukums, kas ietver lauku ar šiem datiem, ir tblCustomer, klauzulai FROM jāizskatās šādi:

FROM tblCustomer

Varat ietvert nosaukumu kvadrātiekavās. Ja nosaukums neietver atstarpes vai speciālās rakstzīmes (piemēram, pieturzīmes), kvadrātiekavu lietošana nav obligāta. Ja nosaukums ietver atstarpes vai speciālās rakstzīmes, iekavas jāizmanto obligāti.

Padoms.: Nosaukumu ar atstarpēm ir vieglāk lasīt, un tas var ietaupīt laiku, noformējot formas un atskaites, taču var būt nepieciešams vairāk rakstīt, rakstot SQL priekšrakstus. Šo faktu vajadzētu apsvērt, kad nosauksiet objektus savā Access datu bāzē.

Datu avotu nosaukumu aizstāšana

Varat izmantot citu nosaukumu, lai atsauktos uz tabulu priekšrakstā SELECT, klauzulā FROM izmantojot tabulas aizstājvārdu. Tabulas aizstājvārds ir nosaukums, kas tiek piešķirts datu avotam vaicājumā, ja izteiksme tiek izmantota kā datu avots, vai lai SQL priekšrakstu būtu vieglāk rakstīt un lasīt. Tas var būt īpaši noderīgi, ja datu avota nosaukums ir garš vai grūti rakstāms, īpaši, ja ir vairāki lauki ar vienādu nosaukumu no dažādām tabulām.

Piemēram, ja vēlaties atlasīt datus divos laukos, kuru nosaukums ir ID, bet viens lauks atrodas tabulā tblCustomer, bet otrs — tabulā tblOrder, klauzulai SELECT jāizskatās šādi:

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

Ja klauzulā FROM izmantosit tabulu aizstājvārdus, vaicājumu būs vienkāršāk rakstīt. Klauzula FROM ar tabulu aizstājvārdiem var izskatīties šādi:

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]

Piezīme.: Ja izmantojat tabulas aizstājvārdu, varat atsaukties uz tabulu savā SQL priekšrakstā, izmantojot aizstājvārdu vai pilnu tabulas nosaukumu.

Saistītu datu apvienošana

Ja ir nepieciešams vaicājuma rezultātā apvienot ierakstu pārus no diviem datu avotiem vienā ierakstā, varat veikt savienošanu. Savienošana ir SQL darbība, kas norāda divu datu avotu saistību, kā arī norāda, vai ir jāietver dati no viena avota, ja nav atbilstošu datu no otra avota.

Lai apvienotu informāciju no diviem datu avotiem, ir jāveic savienošanas darbība tajā laukā, kas abiem datu avotiem ir kopīgs. Ja šajā laukā glabātās vērtības ir vienādas, ierakstu dati rezultātos tiks apvienoti.

Papildus datu apvienošanai varat arī izmantot savienošanu, lai norādītu, vai iekļaut ierakstus no katras tabulas, ja saistītajā tabulā nav atbilstoša ieraksta.

Piemērs: pieņemsim, ka vaicājumā vēlaties izmantot datus no divām tabulām — tblCustomer un tblOrder. Abās tabulās ir lauks CustomerID, kas identificē klientu. Katram ierakstam tabulā tblCustomer var būt viens vai vairāki atbilstoši ieraksti tabulā tblOrder, un atbilstošās vērtības var noteikt, izmantojot vērtības laukā CustomerID.

Ja vēlaties savienot tabulas tā, lai vaicājumā tiktu apvienoti ieraksti no tabulām, neietverot ierakstus no jebkuras tabulas, ja otrā tabulā nav atbilstoša ieraksta, klauzula FROM var izskatīties šādi (rindiņas pārtraukums pievienots lasāmības uzlabošanai):

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

Programmā Access savienošana notiek priekšraksta SELECT klauzulā FROM. Pastāv divi savienojumu tipi: iekšējie un ārējie savienojumi. Tālākajās sadaļās aprakstīti abi savienojumu tipi.

Iekšējie savienojumi

Iekšējais savienojums ir izplatītākais savienojumu tips. Izpildot vaicājumu ar iekšējo savienojumu, vaicājumā tiek ietverti tikai tie ieraksti, kuriem pastāv kopīga vērtība abās savienotajās tabulās.

Iekšējā savienojuma sintakse ir šāda (rindiņas pārtraukums pievienots lasāmības uzlabošanai):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

Tālākajā tabulā aprakstītas darbības INNER JOIN dažādās daļas.

Daļa

Apraksts

tabula1, tabula2

To tabulu nosaukumi, kuru ieraksti tiek apvienoti.

1.lauks, 2.lauks

Savienoto lauku nosaukumi. Ja tie nav skaitliski, laukiem jābūt ar vienādu datu tips un jāsatur viena veida dati, taču nav jābūt ar vienu nosaukumu.

salīdzināšanas_operators

Jebkurš no relāciju salīdzināšanas operatoriem: \ldblquote =,\rdblquote \ldblquote <,\rdblquote \ldblquote >,\rdblquote \ldblquote <=,\rdblquote \ldblquote >=\rdblquote vai \ldblquote <>\rdblquote .

Ārējie savienojumi

Ārējie savienojumi līdzinās iekšējiem savienojumiem — tie vaicājumā nosaka, kā apvienot informāciju no diviem avotiem. Atšķirība ir tāda, ka ārējie savienojumi arī nosaka, vai ietvert datus, ja nepastāv kopīga vērtība. Ārējie savienojumi sniedz norādes — varat norādīt, vai ietvert visus ierakstus no savienojumā norādītā pirmā datu avota (dēvēts par kreiso savienojumu) vai ietvert visus ierakstus no savienojumā norādītā otrā datu avota (dēvēts par labo savienojumu).

Ārējā savienojuma sintakse ir šāda:

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

Tālākajā tabulā aprakstītas darbību LEFT JOIN un RIGHT JOIN dažādās daļas.

Daļa

Apraksts

tabula1, tabula2

To tabulu nosaukumi, kuru ieraksti tiek apvienoti.

1.lauks, 2.lauks

Savienoto lauku nosaukumi. Laukiem ir jābūt vienādai vērtībai “datu tips” un jāietver vienāda veida dati, taču nav jābūt ar vienādu nosaukumu.

salīdzināšanas_operators

Jebkurš no relāciju salīdzināšanas operatoriem: \ldblquote =,\rdblquote \ldblquote <,\rdblquote \ldblquote >,\rdblquote \ldblquote <=,\rdblquote \ldblquote >=\rdblquote vai \ldblquote <>\rdblquote .

Papildinformāciju par savienojumiem skatiet rakstā Tabulu un vaicājumu savienošana.

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.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×