Access SQL: Klauzula FROM

Š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

Datu avotu nosaukumu aizstāšana

Saistītu datu apvienošana

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 izlasīt, un atstarpju lietošana var ļaut ietaupīt laiku, noformējot formas un pārskatus. Tomēr šādā gadījumā, rakstot SQL priekšrakstus, jums, iespējams, nāksies rakstīt vairāk. Ir ieteicams apsvērt šo faktu, kad piešķirat nosaukumu objektiem savā Access datu bāzē.

Datu avotu nosaukumu aizstāšana

Varat izmantot citu nosaukumu, lai atsauktos uz tabulu priekšrakstā SELECT. Lai to paveiktu, klauzulā FROM izmantojiet tabulas aizstājvārdu. Tabulas aizstājvārds ir nosaukums, ko piešķirat datu avotam vaicājumā, ja kā datu avotu izmantojat izteiksmi. Tabulas aizstājvārdu varat arī izmantot, lai būtu vieglāk rakstīt un lasīt SQL priekšrakstu. Tas var būt īpaši noderīgi, ja datu avota nosaukums ir garš vai sarežģī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

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.

×