Applies ToAccess за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Това е една от статиите в набора от статии за Access SQL. Тази статия описва как да напишете клауза FROM и илюстрира с примери различни техники, които можете да използвате в клауза FROM.

В команда SELECT можете да зададете източници на данни в клаузата FROM. Клаузата FROM може също да съдържа операция JOIN. Можете да използвате операция JOIN, за да проверявате за съвпадения и да комбинирате данни от два източника на данни, като например две таблици или таблица и заявка.

За общ преглед на Access SQL вж. статията Access SQL: основни понятия, речник и синтаксис.

В тази статия

Задаване на източници на данни

В команда SELECT клаузата FROM указва таблиците или заявките, съдържащи данните, които клаузата SELECT ще използва.

Да предположим, че искате да знаете телефонния номер на определен клиент. Ако приемем, че таблицата, която съдържа полето, което съхранява тези данни, се нарича tblCustomer, клаузата FROM ще изглежда горе-долу по следния начин:

FROM tblCustomer

Можете да използвате квадратни скоби, за да оградите името. Ако името не съдържа интервали или специални знаци (например препинателни знаци), квадратните скоби не са задължителни. Ако името съдържа интервали или специални знаци, трябва да използвате скоби.

Съвет: Име, което съдържа интервали, е по-лесно за четене и може да ви спести време, когато проектирате формуляри и отчети, но пък от друга страна може да ви накара да въвеждате повече, когато пишете SQL команди. Помислете за това, когато давате име на обектите във вашата база данни на Access.

Използване на заместващи имена за източници на данни

Можете да използвате друго име за препращане към таблица в команда SELECT, като използвате псевдоним на таблица в клаузата FROM. Псевдонимът на таблица е име, което можете да дадете на източник на данни в заявка, когато използвате израз като източник на данни, или да улесните въвеждането и четенето на SQL командата. Това може да е особено полезно, ако името на източника на данни е дълго или трудно за въвеждане, особено когато има множество полета с едно и също име от различни таблици.

Например ако искате да изберете данни от две полета с име ID, едното от които идва от таблицата tblCustomer, а другото – от таблицата tblOrder, вашата клауза SELECT може да изглежда горе-долу по следния начин:

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

С помощта на псевдонимите на таблици в клаузата FROM можете да улесните въвеждането на заявката. Вашата клауза FROM с псевдоними на таблици може да изглежда по следния начин:

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

Можете да използвате тези псевдоними на таблици след това и в клаузата SELECT, както следва:

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

Забележка: Когато използвате псевдоним на таблица, можете да препращате към таблицата във вашата SQL команда чрез псевдонима или с помощта на пълното име на таблицата.

Съединяване на свързани данни

Когато имате нужда от начин да комбинирате двойки записи от два източника на данни в отделни записи в резултат от заявка, можете да извършите съединяване. Съединяването е SQL операция, която указва как два източника на данни са свързани и дали данните от един източник трябва да бъдат включени, ако няма съответстващи данни от другия източник.

За да обедините информацията от два източника на данни, можете да изпълните операция за съединяване върху полето, което е общо за тях. Когато стойностите, съхранени в това поле, съвпадат, данните от записите биват обединени в резултатите.

Освен съединяването на данни можете също да използвате съединяване, за да указвате дали да се включват записи от едната или другата таблица, в случай че няма съответен запис в свързаната таблица.

Да предположим например, че искате да използвате данни от две таблици в заявка: tblCustomer и tblOrder. И двете таблици имат поле CustomerID, което идентифицира клиент. Всеки запис в таблицата tblCustomer може да има един или повече съответстващи записи в таблицата tblOrder и съответстващите стойности могат да се определят от стойностите в полето CustomerID.

Ако искате да се съедините таблиците, така че заявката да комбинира записите от таблиците, изключвайки записи от едната от двете таблици, в случай че няма съответен запис в другата таблица, клаузата FROM може да изглежда приблизително така (краят на ред в случая е добавен за по-добра четливост):

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

В Access съединенията възникват в клаузата FROM на команда SELECT. Има два вида съединения: вътрешни и външни съединения. Следващите раздели описват тези два типа съединения.

Вътрешни съединения

Вътрешните съединения са най-често срещаният тип съединение. Когато се изпълнява заявка с вътрешно съединение, единствените записи, включени в резултатите от заявката, са записите, където обща стойност съществува и в двете съединени таблици.

Вътрешното съединение има следния синтаксис (краят на ред в случая е добавен за по-добра четливост):

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

Следващата таблица описва различните части на операция INNER JOIN.

Част

Описание

таблица1, таблица2

Имената на таблиците, от които се комбинират записи.

поле1, поле2

Имена на полетата, които са съединени. Ако не са числови, полетата трябва да бъдат от един и същ тип данни и да съдържат данни от еднакъв вид, но не е необходимо да имат едни и същи имена.

оператор_за_сравнение

Всеки релационен оператор за сравнение: "=," "<," ">," "<=," ">=" или "<>."

Външно съединение

Външните съединения са подобни на вътрешните съединения, защото указват на една заявка как да комбинира информацията от два източника. Те са различни в това, че указват и дали да се включват данни, в случай че няма обща стойност. Външните съединения имат посока: можете да зададете дали искате да включите всички записи от първия източник на данни, зададен в съединението (наричан ляво съединение), или да включите всички записи от втория източник на данни в съединението (наричан дясно съединение).

Външното съединение има следния синтаксис:

FROM таблица1 [ LEFT | RIGHT ] JOIN таблица2ON таблица1.поле1оператор_за_сравнение таблица2.поле2

Следващата таблица описва различните части на операциите LEFT JOIN и RIGHT JOIN.

Част

Описание

таблица1, таблица2

Имената на таблиците, от които се комбинират записи.

поле1, поле2

Имената на полетата, които се съединяват. Полетата трябва да бъдат от един и същ тип данни и да съдържат данни от един и същ вид, но не е необходимо да имат едни и същи имена.

оператор_за_сравнение

Всеки релационен оператор за сравнение: "=," "<," ">," "<=," ">=" или "<>."

За повече информация относно съединенията вж. статията Съединяване на таблици и заявки.

Най-горе на страницата

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.