русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Связывание таблиц


Дата добавления: 2015-07-09; просмотров: 427; Нарушение авторских прав


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

SELECT ProductName, CategoryName FROM Products, Categories

В то время как запрос, показанный ниже, приводит к отображению списка продуктов с указанием, к какой категории принадлежит данный продукт:

SELECT ProductName, CategoryName

FROM Products, Categories

WHERE Products.CategorylD = Categories.CategorylD

Для наглядности можно сравнить результаты этих двух запросов.

В общем случае синтаксис для связывания таблиц имеет вид:

SELECT column-list

FROMtable1,table2

WHERE table! .column 1=table2.column2

 

Для вычисления суммарных значений на основе данных одной или нескольких таблиц можно использовать предложение GROUP BY:

GROUP BY {поле1} [,...]

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

SELECT Customers.CustomerlD,

COUNT (Orders. OrderlD) AS OrdersCount

FROM Customers INNER JOIN Orders

ON Customers.CustomerlD = Orders.CustomerlD

GROUP BY Customers.CustomerlD

ORDER BY OrdersCount DESC

В приведенном выше примере запроса мы использовали в предложении SELECT агрегатную функцию COUNT, вычисляющую количество значений.

Помимо перечисленных выше агрегатных функций можно использовать также математические и строковые функции, приведенные ниже:



Avg - Вычисляет среднее

Count - Вычисляет количество непустых значений в данной колонке

Max - Вычисляет наибольшее значение в колонке

Min - Вычисляет наименьшее значение в колонке

Sum - Вычисляет сумму значений в колонке

 

Математические и строковые функции SQL:

ABS Возвращает абсолютное значение числа
CEIL Округляет дробное число
FLOOR Удаляет дробную часть числа
GREATEST Возвращает наибольшее из двух значений.
LEAST Возвращает наименьшее из двух значений.
MOD Возвращает остаток от деления одного числа на другое
POWER Возвращает значение, равное одному числу в степени.
ROUND Округляет число с точностью до указанного десятичного знака
SIGN Возвращает -1, если число отрицательное, и 1, если положительное
SQRT Квадратный корень
LEFT Возвращает указанное число знаков строки, начиная слева.
RIGHT Возвращает указанное число знаков строки, начиная справа
UPPER Заменяет все буквы в строке на прописные
LOWER Заменяет все буквы в строке на строчные
INITCAP Расставляет заглавные буквы в начале слов в строке
LENGTH Вычисляет число символов в строке
LPAD Добавляет указанный символ в левую часть строки в количестве, необходимом для того, чтобы строка имела заданную длину
RPAD Добавляет указанный символ в правую часть строки в количестве, необходимом для того, чтобы строка имела заданную длину
SUBSTR Извлекает подстроку нужной длины из строки, начиная с номера указанной позиции


<== предыдущая лекция | следующая лекция ==>
Структура команды | Ключевые слова Аll и DISTINCT


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.032 сек.