SQL - язык доступа и управления СУБД Access. Sql запросы в access


Access SQL. Предложение FROM - Access

Это статья из цикла статей о языке SQL для Access. В ней описано предложение FROM и приведены примеры, поясняющие различные методы, используемые при его составлении.

В предложении FROM инструкции SELECT указываются источники данных. Предложение FROM также может содержать операцию JOIN, которая используется для сопоставления и объединения данных из двух источников, например двух таблиц или таблицы и запроса.

Общие сведения о языке SQL для Access см. в статье Access SQL. Основные понятия, лексика и синтаксис.

В этой статье

Указание источников данных

Использование псевдонимов источников данных

Объединение связанных данных

Указание источников данных

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

Предположим, что вы хотите узнать телефонный номер клиента. Пусть таблица, которая содержит поле с этими данными, называется tblCustomer, тогда предложение FROM будет выглядеть следующим образом:

FROM tblCustomer

Имя можно заключить в квадратные скобки. Если имя не содержит пробелов или специальных знаков (например, знаков препинания), скобки можно не использовать. Если имя содержит пробелы или специальные знаки, скобки необходимы.

Совет: Имена, содержащие пробелы, проще воспринимать. Такой способ именования поможет сэкономить время при разработке форм и отчетов, но при составлении инструкций SQL придется вводить больше символов. Учитывайте этот факт при присвоении имен объектам в базе данных.

Использование псевдонимов источников данных

Для обращения к таблице в инструкции 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 table2ON table1.field1 compopr table2.field2

В приведенной ниже таблице представлены различные компоненты операции INNER JOIN.

Часть

Описание

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

Имена таблиц, содержащих объединяемые записи.

поле1, поле2

Имена связываемых полей. Поля, не являющиеся числовыми, должны относиться к одному тип данных и содержать данные одного вида. Однако имена этих полей могут быть разными.

compopr

Любой оператор сравнения: (=, <, >, <=, >= или <>)

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

Внешнее объединение похоже на внутреннее, потому что оно указывает, как в запросе должны объединяться данные из двух источников. Отличие заключается в том, что оно также указывает, необходимо ли включать в результаты данные, в которых отсутствуют одинаковые значения. Внешнее объединение является направленным: вы можете указать, следует ли включить ли в результаты все записи из первого источника данных для объединения (левое объединение) или все записи из второго источника данных (правое объединение).

Внешнее объединение имеет следующий синтаксис:

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

В приведенной ниже таблице указаны различные компоненты операций LEFT JOIN и RIGHT JOIN.

Часть

Описание

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

Имена таблиц, содержащих объединяемые записи.

поле1, поле2

Имена объединяемых полей. У полей должен быть один тип данных. Имена этих полей могут быть разными.

compopr

Любой оператор сравнения: (=, <, >, <=, >= или <>)

Дополнительные сведения об объединениях см. в статье Объединение таблиц и запросов.

К началу страницы

support.office.com

Access SQL. Предложение WHERE - Access

Это статья из цикла статей о языке SQL для Access. В ней описано предложение WHERE и приведены примеры, поясняющие различные методы, используемые при его составлении.

В предложении WHERE инструкции SQL указываются условия, которым должны соответствовать значения полей, чтобы записи, содержащие эти значения, были включены в результаты запроса.

Общие сведения о языке SQL для Access см. в статье Access SQL. Основные понятия, лексика и синтаксис.

В этой статье

Ограничение результатов с помощью условий отбора

Синтаксис предложения WHERE

Использование предложения WHERE для объединения источников данных

Ограничение результатов с помощью условий отбора

Когда необходимо использовать данные для ограничения числа записей, возвращаемых запросом, можно применять условия. Условие запроса похоже на формулу — это строка, которая может включать ссылки на поля, операторы и константы. Условие запроса является разновидностью выражения.

В таблице ниже представлены образцы условий и объясняется, как они работают.

Условие

Описание

>25 and <50

Это условие применяется к числовому полю, такому как "Цена" или "ЕдиницНаСкладе". Оно позволяет вывести только те записи, в которых поле "Цена" или "ЕдиницНаСкладе" содержит значение больше 25 и меньше 50.

DateDiff ("гггг", [ДатаРождения], Date()) > 30

Это условие применимо к полю типа «Дата/время», такому как «ДеньРождения». В результат запроса будут включены только те записи, в которых количество лет, прошедшее со дня рождения до текущей даты, превышает 30.

Is Null

Это условие может быть применено к полям любого типа для вывода записей, в которых поле имеет значение Null.

Как видно по приведенным выше примерам, условия отбора могут быть совершенно разными в зависимости от типа данных поля, к которому применяется условие, и конкретных требований. В простых условиях используются базовые операторы и константы, а в сложных — функции, специальные операторы и ссылки на поля.

Синтаксис предложения WHERE

В предложении WHERE инструкции SELECT задаются условия запроса.

Предложение WHERE имеет следующий базовый синтаксис:

WHERE field = criterion

Предположим, например, что необходимо узнать телефонный номер клиента, но вы помните только его фамилию: Bagel. Вместо того, чтобы просматривать все телефонные номера, которые содержатся в базе данных, можно воспользоваться предложением WHERE, чтобы ограничить результаты и упростить поиск нужного номера. Если фамилии хранятся в поле LastName, предложение WHERE будет выглядеть следующим образом:

WHERE [LastName]='Bagel'

Примечание: Условие в предложении WHERE необязательно должно быть основано на равенстве значений. Можно использовать другие операторы сравнения, такие как "больше чем" (>) или "меньше чем" (<), например WHERE [Цена]>100.

Использование предложения WHERE для объединения источников данных

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

Создать объединение между полями, имеющими разные типы данных, нельзя. Чтобы объединить данные их двух источников на основе значений полей с разными типами данных, нужно создать предложение WHERE, в котором одно поле используется с ключевым словом LIKE как условие отбора для другого поля.

Предположим, например, что необходимо использовать данные из Таблицы1 и Таблицы2, но только в том случае, когда данные в field1 (текстовое поле в Таблице1) совпадают с данными из field2 (числовое поле в Таблице2). Предложение WHERE будет выглядеть следующим образом:

WHERE field1 LIKE field2

Дополнительные сведения о создании условий отбора, используемых в предложении WHERE, см. в статье Примеры условий запроса.

К началу страницы

support.office.com

SQL - язык доступа и управления СУБД Access

Запросы составляются на основе SQL – инструкций

2014-11-12

Автор: Владимир Ткаченко

Источник: Обучение в интернет

В СУБД Access применяются два типа запросов: QBE – запрос по образцу и SQL (Structured Query Language)- язык структурированных запросов. Запрос по образцу формируется путем заполнения специального бланка запроса в окне "Конструктора запросов". SQL – запросы создаются программистами из последовательности SQL – инструкций. SQL формируется, как правило, программистами на бланке запроса, который открывается командой "Конструктор запросов" на вкладке "Создание" и выбирается "Режим SQL" из меню Вид. Язык SQL предназначен для работы с данными, т.е. для создания, модификации и управления данными в реляционных БД.

Следует отметить, что существует несколько режимов запросов SQL (запросов в режиме ANSI-89 SQL и ANSI-92 SQL), которые соответствуют стандартам ANSI-89 SQL и ANSI-92 SQL.

Инструкции содержат описание набора данных на языке SQL. Инструкции SQL состоят из предложений (SELECT, FROM, WHERE и т.д.). Предложения на языке SQL состоят из терминов (операторов или команд, идентификаторов, констант и т.д.). Инструкция начинается оператором (одной из команд SELECT, CREATE, INSERT, UPDATE, DELETE и т.д. ) и заканчивается точкой с запятой. Основные операторы SQL: SELECT, FROM и WHERE.

Например, инструкция SQL: SELECT Студенты.КодСтудента FROM Студенты; состоит из предложения "SELECT Студенты.КодСтудента" и предложения "FROM Студенты".

Предложение SELECT содержит оператор SELECT и идентификатор "Студенты.КодСтудента". Здесь полное имя поля "КодСтудента" предваряется именем таблицы "Студенты" базы данных. SELECT - определяет поле, которое содержит требуемые данные. Предложение FROM состоит из оператора FROM и идентификатора "Студенты". FROM - определяет таблицу, которая содержат поля, указанные в предложении SELECT.

Необходимо отметить, что при формировании запроса на языке SQL необходимо учитывать его синтаксис. Несмотря на то, что синтаксис языка SQL основан на синтаксисе английского языка, но для различных СУБД синтаксис версий языка SQL может различаться.

Существует несколько типов запросов: на выборку, на обновление, на добавление и на удаление записей, перекрестный запрос, создание и удаление таблиц, соединение таблицы и т.д. Наиболее распространенным является запрос на выборку. Запросы на выборку используются для отбора нужной пользователю информации, содержащейся в таблицах. Они создаются только для связанных таблиц.

Чтобы посмотреть SQL – запросы на выборку в СУБД Access 2003 или 2007 необходимо в активном окне проектирования запроса по образцу (рис. 1) выполнить команду Вид/режим SQL.

Рис. 1.

Получим инструкцию SQL (SELECT) на выборку данных из БД Access 2003 по критерию успеваемости студентов "Оценка=5" (рис. 2).

Рис. 2.

Как следует из инструкции SELECT (рис. 1), она описывает набор данных на языке SQL: SELECT - определяет имена полей, предваряемые именами таблиц, в которых содержатся данные; FROM - определяет таблицы и их взаимосвязи через ключевые поля таблиц (для этого используется конструкция INNER JOIN ... ON), на основе которых отбираются данные; WHREME - определяет условия отбора полей; ORDER BY - определяет способ сортировки по возрастанию (по умолчанию выполняется сортировка по возрастанию) значений поля "Фамилия" таблицы "Студенты".

Как следует из инструкции на выборку данных из БД, язык SQL описывает, что необходимо получить из базы данных, при этом исполнение возлагается на СУБД, так как язык SQL не имеет своих средства управления выполнением программы.

www.lessons-tva.info

Параметрические SQL запросы в СУБД Access 2003 и 2007

Параметрические SQL запросы или запросы с параметрами в СУБД Access 2003 и 2007

2016-05-06

Автор: Владимир Ткаченко

Источник: Обучение в интернет

В данной статье рассмотрим параметрические SQL запросы или запросы с параметрами на выборку данных из таблиц БД Access. Для создания SQL запроса откроем базу данных sql_training_st1_calcul.mdb.

Известно, что для извлечения информации, хранящейся в базе данных БД Access 2003 или 2007, можно применить запрос SELECT на выборку данных из таблиц. Что касается запроса с параметрами, то он извлекает данные лишь в том случае, когда в диалоговом окне "Введите значение параметра" будет введено имя параметра отбора.

Составим параметрический SQL запрос (инструкцию SQL), для этого в открытой БД sql_training_st1_calcul.mdb на вкладке "Создание" выберем команду "Конструктор запросов". Откроется активное окно диалога "Добавление таблицы" на фоне неактивного окна «Запрос1», далее надо закрыть окно диалога "Добавление таблицы". Затем на контекстной вкладке "Конструктор" выберем режим SQL, выполнив команду SQL, в результате в окне редактирования будет отображаться оператор SELECT.

Вводим с клавиатуры следующую инструкцию SQL: SELECT Группы.Название, Студенты.Фамилия, Дисциплины.Название, Успеваемость.Оценка FROM (Группы INNER JOIN Студенты ON Группы.КодГруппы = Студенты.КодГруппы) INNER JOIN (Дисциплины INNER JOIN Успеваемость ON Дисциплины.КодДисциплины = Успеваемость.КодДисциплины) ON Студенты.КодСтудента = Успеваемость.КодСтудента WHERE ((Студенты.Фамилия)=[Введите фамилию]) ORDER BY Студенты.Фамилия;

Эта инструкция состоит из четырех предложений "SELECT. . .", "FROM. . .", "WHERE..." и "ORDER BY...". Первое предложение содержит оператор SELECT и идентификатор "Группы.Название, Студенты.Фамилия, Дисциплины.Название, Успеваемость.Оценка". Выбор данных осуществляется из четырех полей четырех таблиц. Чтобы однозначно идентифицировать поля в запросе, перед именами полей указаны имена таблиц (например, Группы.Название).

Второе предложение содержит оператор FROM и идентификатор "(Группы INNER JOIN Студенты ON Группы.КодГруппы=Студенты.КодГруппы) INNER JOIN (Дисциплины INNER JOIN Успеваемость ON Дисциплины.КодДисциплины=Успеваемость.КодДисциплины) ON Студенты.КодСтудента=Успеваемость.КодСтудента".

FROM - определяет таблицы "Группы", "Студенты", "Дисциплины" и "Успеваемость", которые содержат поля, указанные в предложении SELECT, и обеспечивает взаимосвязи таблиц через ключевые поля таблиц с помощью конструкции INNER JOIN ... ON. Следует отметить, что операторы: SELECT и FROM всегда присутствуют в запросах на выборку.

Третье предложение содержит оператор WHERE и идентификатор "((Студенты.Фамилия)=[Введите фамилию])", определяющий условия отбора. Четвертое предложение содержит оператор ORDER BY и идентификатор "Студенты.Фамилия". ORDER BY не является обязательным оператором и применяется для сортировки выходных данных.

На рисунке 1 представлен скриншот параметрического SQL запроса на выборку данных, сохраненный с именем "Запрос_с_параметрами".

Рис. 1. Параметрический SQL запрос на выборку данных

В результате выполнения команды "Сохранить" в «Области переходов» появится объект - «Запросы: Запрос_с_параметрами».

После сохранения параметрического SQL запроса на выборку данных необходимо выполнить этот запрос, щелкая на пиктограмме «Выполнить» (рис.2).

Рис. 2. Параметрический SQL запрос в режиме "Выполнить"

Для выполнения запроса введем имя параметра отбора (Воронина) в диалоговое окно "Введите значение параметра" и щелкнем на кнопке "OK".

Результаты выполнения команды «Выполнить» представлены на рис. 3.

Рис. 3. Выборка данных на запрос с именем параметра отбора - Воронина

Скачать sql_training_st1_param.mdb

www.lessons-tva.info

Запрос SQL. Примеры в MS Access. SELECT: 41-50

Данные запросы SQL могут использованы как примеры для изучения и практикума в MS Access.

Запрос SQL Q041. В случае, когда оператор IIF используется несколько раз, удобнее заменить его оператором SWITCH. Оператор SWITCH (оператор множественного выбора) используется для оценки логического выражения и выполнения того или иного действия в зависимости от результата. В следующем примере поставленная партия считается «малой», если количество товара в партии меньше 500. В противном случае, то есть если количество товара больше или равно 500, партия считается «большой»:

SELECT dt, product_id, amount, SWITCH(amount<500,"малая",amount>=500,"большая") AS markFROM m_income;

Запрос Q042. В следующем запросе если количество товара в поступившей партии меньше 300, то партия считается «малой». В противном случае, то есть если условие amount<300 не выполняется, то проверяется является ли количество товаров в партии меньше 500. Если размер партии меньше 500, то она считается «средней». В противном случае партия считается «большой»:

SELECT dt, product_id, amount, IIF(amount<300,"малая",IIF(amount<1000,"средняя","большая")) AS markFROM m_income;

Запрос SQL Q043. В следующем запросе если количество товара в поступившей партии меньше 300, то партия считается «малой». В противном случае, то есть если условие amount<300 не выполняется, то проверяется является ли количество товаров в партии меньше 500. Если размер партии меньше 500, то она считается «средней». В противном случае партия считается «большой»:

SELECT dt, product_id, amount, SWITCH(amount<300,"малая",amount<1000,"средняя",amount>=1000,"большая") AS markFROM m_income;

Запрос SQL Q044. В следующем запросе продажи разделяются на три группы: малые (до 150), средние (от150 до 300), большие (300 и более). Далее, для каждой группы вычисляется итоговая сумма:

SELECT Category, SUM(outcome_sum) AS Ctgry_TotalFROM (SELECT amount*price AS outcome_sum,IIf(amount*price<150,"малая",IIf(amount*price<300,"средняя","большая")) AS Category FROM m_outcome) AS tGROUP BY Category;

Запрос SQL Q045. Функция DateAdd используется для прибавления дней, месяцев или лет к данной дате и получения новой даты. Следующий запрос: 1) к дате из поля dt прибавляет 30 дней и отображает новую дату в поле dt_plus_30d; 2) к дате из поля dt прибавляет 1 месяц и отображает новую дату в поле dt_plus_1m:

SELECT dt, dateadd("d",30,dt) AS dt_plus_30d, dateadd("m",1,dt) AS dt_plus_1mFROM m_income;

Запрос SQL Q046. Функция DateDiff предназначена для вычисления разницы между двумя датами в различных единицах (днях, месяцах или годах). Следующий запрос вычисляет разницу между датой в поле dt и текущей датой в днях, месяцах и годах:

SELECT dt, DateDiff("d",dt,Date()) AS last_day, DateDiff("m",dt,Date()) AS last_months, DateDiff("yyyy",dt,Date()) AS last_yearsFROM m_income;

Запрос SQL Q047. Вычисляется количество дней со дня поступления товара (таблица m_income) до текущей даты с помощью функции DateDiff и сопоставляется срок годности (таблица m_product):

SELECT a.id, product_id, dt, lifedays, DateDiff("d",dt,Date()) AS last_daysFROM m_income AS a INNER JOIN m_product AS b ON a.product_id=b.id;

Запрос SQL Q048. Вычисляется количество дней со дня поступления товара до текущей даты, затем проверяется превышает ли это количество срок годности:

SELECT a.id, product_id, dt, lifedays, DateDiff("d",dt,Date()) AS last_days, IIf(last_days>lifedays,"Да","Нет") AS date_expireFROM m_income a INNER JOIN m_product bON a.product_id=b.id;

Запрос SQL Q049. Вычисляется количество месяцев со дня поступления товара до текущей даты. В столбце month_last1 вычисляется абсолютное количество месяцев, в столбце month_last2 вычисляется количество полных месяцев:

SELECT dt, DateDiff("m",dt,Date()) AS month_last1, DateDiff("m",dt,Date())-iif(day(dt)>day(date()),1,0) AS month_last2FROM m_income;

Запрос SQL Q050. Выводится поквартальный отчет о количестве и сумме оприходованных товаров за 2011 год:

SELECT kvartal, SUM(outcome_sum) AS TotalFROM (SELECT amount*price AS outcome_sum, month(dt) AS m, SWITCH(m<4,1,m<7,2,m<10,3,m>=10,4) AS kvartal FROM m_income WHERE year(dt)=2011) AS tGROUP BY kvartal;

Подпишитесь на нашу еженедельную почтовую рассылку "SQL - примеры запросов".

Подробности Автор: Рахматджон Хакимов Родительская категория: Программирование Категория: Запросы SQL в MS Access

oftob.ru

Режим SQL-запросов в Access, конструкции языка

Лабораторная работа № 4. Запросы (продолжение).

На это лабораторной мы продолжим знакомиться с построением запросов и рассмотрим еще один режим работы с запросами – режим SQL. Возможно из-за краткости описания лабораторной, не все будет сразу понятно. В таких случаях, посмотрите справку Access (она как обычно вызывается по клавише F1), где подробно описаны рассматриваемые конструкции языка SQL.

Начните с того, что в конструкторе создайте запрос, выводящий список авторов книг из таблицы Book (нам нужны только авторы, без названий книг и т.д.). Выполните запрос и обратите внимание на то, что если автор написал несколько книжек, то в результатах запроса он будет фигурировать тоже несколько раз. Перейдите в режим SQL, в котором Вы увидите то предложение, которое и является запросом:

SELECT Book.Author FROM Book;

Итак, это предложение SELECT, где указывается, какие столбцы помещаются в результат запроса,  и откуда мы их берем. Заканчивается предложение точкой с запятой. Теперь скажем Access, что повторяющиеся строки в запросе надо отбрасывать. Делается это с помощью кодового слова DISTINCT:

SELECT DISTINCT Book.Author FROM Book;

Обратите внимание, что второй запрос кроме отбрасывания повторяющихся записей и сортирует их по возрастанию. Порядок сортировки можно задать в конструкторе запросов или в режиме SQL, вписав инструкцию ORDER BY. После инструкции ORDER BY указывается столбец, по которому сортируем. В примере первый запрос выводит список авторов в алфавитном порядке, второй – в обратном алфавитном порядке.

SELECT DISTINCT Book.Author FROM Book ORDER BY Book.Author;

SELECT DISTINCT Book.Author FROM Book ORDER BY Book.Author DESC;

Продолжим изучение SQL на примерах. В конце прошлого занятия мы познакомились с запросами, использующими данные из нескольких связанных таблиц. Например, построенный в конструкторе запрос на выборку библиотечных номеров книг, их авторов и названий (в конструкторе мы его создавали на прошлом занятии) на SQL будет выглядеть следующим образом:

SELECT Book_in_Lib.LibID, Book.Author, Book.Name

FROM Book INNER JOIN Book_in_Lib ON Book.BookID = Book_in_Lib.BookID;

Здесь инструкция INNER JOIN указывает на то, что надо соединить таблицы по условию совпадения значений в столбцах Book.BookID = Book_in_Lib.BookID. Причем соединение должно быть «внутренним» - соответствующие значения должны встречаться как в одной, так и в другой таблице.

vunivere.ru

Запрос SQL в MS Access. Введение

В файле IB_Access_20111129.zip приведены примеры запросов SQL (Structure Query Language) и необходимые для них таблицы в формате .mdb (СУБД Microsoft Access). Скачав этот файл, Вы можете самостоятельно проверять и изменять приведенные примеры SQL-запросов для начинающих. Надеемся, что данный практикум по SQL поможет Вам получить базовые знания и навыки в построении различных запросов на языке SQL и применить их при работе с другими СУБД, такими как Microsoft SQL Server, MySQL, Oracle и т.д.

Описание учебного проекта "Магазин"

Схема связей таблиц

Описание таблиц

m_category - категории товаров

Имя поля Тип данных Описание
id Счетчик Код категории товара
title Текстовый Название категории

m_income - приход товаров

Имя поля Тип данных Описание
id Счетчик Код записи
dt Дата/время Дата прихода
product_id Числовой Код товара
amount Числовой Количество прихода
price Числовой Цена за единицу

m_outcome - расход товаров

Имя поля Тип данных Описание
id Счетчик Код записи
dt Дата/время Дата продажи
product_id Числовой Код товара
amount Числовой Количество прихода
price Числовой Цена за единицу

m_product - справочник, описание товаров

Имя поля Тип данных Описание
id Счетчик Код товара
title Текстовый Название товара
supplier_id Числовой Код поставщика
ctgry_id Числовой Код категории товара
unit Текстовый Единица измерения
lifedays Числовой Срок годности в днях

m_supplier - справочник; информация о поставщиках

Имя поля Тип данных Описание
id Счетчик Код поставщика
title Текстовый Имя поставщика
phone Текстовый Телефон
address Текстовый Адрес

m_unit - справочник; единицы измерения

Имя поля Тип данных Описание
title Текстовый Тип единицы товара
description Текстовый Описание

Для практической проверки примеров приведенных в данном учебном материале, необходимо иметь в наличие следующее программное обеспечение:

- Microsoft Access 2003 или новей.

Заметим, что таблицы (отношения) являются учебными.

Тренироваться, тренироваться, тренироваться!

Подпишитесь на нашу еженедельную почтовую рассылку "SQL - примеры запросов".

Подробности Автор: Рахматджон Хакимов Родительская категория: Программирование Категория: Запросы SQL в MS Access

oftob.ru