Š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, kurā ir atstarpes, ir vieglāk lasīt, un tas var ietaupīt laiku, kad noformējat formas un atskaites, bet, iespējams, būs jāraksta vairāk, rakstot SQL priekšrakstus. Tas ir jāņem vērā, kad Access datu bāzē tiek piešķirti nosaukumu objekti.

Datu avotu nosaukumu aizstāšana

Varat izmantot citu nosaukumu, lai atsauces uz tabulu priekšrakstā SELECT, izmantojot tabulas aizstājvārdu klauzulā FROM. Tabulas aizstājvārds ir nosaukums, kas tiek piešķirts vaicājuma datu avotam, ja izmantojat izteiksmi kā datu avotu 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 uzrakstīts, it īpaši tad, ja ir vairāki lauki ar vienu un to pašu nosaukumu dažādās tabulās.

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

Vai nepieciešama papildu palīdzība?

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

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar tulkojuma kvalitāti?
Kas ietekmēja jūsu pieredzi?

Paldies par jūsu atsauksmēm!

×