русс | укр

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

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

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

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


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

CREATE TABLE table1 (c1 int, c2 int, c3 int primary key identity)


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


Аналогично создана и таблица table2:

CREATE TABLE table2 (c1 int, c2 int, c3 int primary key identity)

Содержимое таблиц table1 и table2 представлено в табл. 1.

 

Табл. 1. Содержимое таблиц table1 и table2

table1 table2
с1 с2 с3 с1 с2 с3
 
 
 

 

 

Пример 1.

Выполнение простейшей команды SELECT:

SELECT 2+5 as EX_COL

даст следующий результат:

  EX_COL

 

Пример 2.

Использование секций FROM, ORDER BY и опций секции SELECT.

 

В результате выполнения команды

SELECT DISTINCT c1, c2 FROM table1

 

будет получен следующий набор строк:

c1 с2

т.е., двух одинаковых строк в результирующем множестве нет.

В результате же выполнения команды

SELECT DISTINCT TOP 4 c1, c2 FROM table1

будут получены только 1-ые 4 строки из множества строк, возвращаемых предыдущей командой.

Если же выполнить такую команду

 

SELECT TOP 2 WITH TIES c1, c2 FROM table1 ORDER BY c1

 

то результирующее множество строк будет следующим:

с1 с2

несмотря на то, что должны быть получены только две 1-ых строки. Это произойдет потому, что использована опция WITH TIES, применение которой приводит к тому, что выбираются все строки, у которых значения в столбцах c1 и c2 совпадают со значениями 2-ой строки.



Пример 3.

Использование секций INTO и WHERE.

 

При необходимости скопировать часть строк таблицы table1, удовлетворяющих некоторому условию, в новую таблицу, например table3, необходимо выполнить следующую команду:

 

SELECT * INTO table3 FROM table1 WHERE c1 > 1 and c2 != 5

В результате выполнения этой команды таблица table3 (не должна существовать перед выполнением команды) будет содержать следующие 5 строчек:

с1 с2 с3

 

Пример 4.

Вертикальные объединения.

 

Все примеры вертикальных объединений рассмотрим с использованием таблиц table1 и table2. INNER JOIN:

 

SELECT * from table1 t1 JOIN table2 t2 ON t1.c2 = t2.c2

 

Результат (сначала столбцы table1, затем – table2):

с1 с2 с3 с1 с2 с3

 

LEFT JOIN:

 

SELECT * from table1 t1 LEFT JOIN table2 t2 ON t1.c2 = t2.c2

 

Результат (сначала столбцы table1, затем – table2):

с1 с2 с3 с1 с2 с3
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL

RIGHT JOIN:

 

SELECT * from table1 t1 RIGHT JOIN table2 t2 ON t1.c2 = t2.c2

 

Результат (сначала столбцы table1, затем – table2):

с1 с2 с3 с1 с2 с3
NULL NULL NULL
NULL NULL NULL

FULL JOIN:

 

SELECT * from table1 t1 FULL JOIN table2 t2 ON t1.c2 = t2.c2

 

Результат (сначала столбцы table1, затем – table2):

с1 с2 с3 с1 с2 с3
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL

CROSS JOIN:

 

SELECT * from table1 CROSS JOIN table2

что эквивалентно

SELECT * from table1, table2

Результат (сначала столбцы table1, затем – table2):

с1 с2 с3 с1 с2 с3

 

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

 

/* Проверяем существование функции с именем func1 */

 

IF EXISTS (SELECT name, type FROM sys.all_objects WHERE name = 'func1'

AND type = 'FN')

/* Если такая функция существует, то удаляем ее */



<== предыдущая лекция | следующая лекция ==>
Секция COMPUTE. | DROP FUNCTION func1


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


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

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

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


 


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

 
 

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

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