Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

FROM Stcre.db 3, Cards.db С

SELECT S.S_Name, C.C_Date, C.C_Move, S.S_Price

Name Position Salary Birthay Note

FROM Personnel.db P, Advanced.db A

SELECT P.Name, P.Position, P.Salary, A.Birthday, A.Note

Соединение таблиц

Case RadioGroupl.Itemlndex of

Case RadioGroup2.Itemlndex of

Begin

Queryl.Close;

Queryl.SQL.Clear;

Queryl.SQL.Add('SELECT * FROM Personnel.db');

0: s: = ";

1: s:='DESC?;

end;

0: s:='ORDER BY P_Name ' + s;

1: s:='ORDER BY P_Birthday '+ s;

2: s:='ORDER BY P_Position ' + s + ', P_Salary ' + s;

3: s: = ";

end;

Queryl.SQL.Add(s);

Queryl.Open;

end;

При нажатии кнопки btnSort для набора данных Queryl происходит подготовка и выполнение SQL-запроса. Текст запроса формируется в зависимости от со­стояния переключателей, управляющих сортировкой.

Когда в SQL-запросе отсутствует параметр order, по умолчанию записи упоря­дочиваются по первому полю. Поэтому в рассматриваемом примере отсутствие сортировки и сортировка по полю Name приводят к одинаковому результату.

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

Внутреннее соединение представляет собой простейший случай, когда после слова select перечисляются поля разных таблиц. Например:

Таблицы Personnel и Advanced содержат основные и дополнительные сведения о сотрудниках организации. Таблицы связаны отношением "один-к-одному", т. е. каждой записи первой таблицы соответствует одна запись второй таблицы. Результирующий набор данных является объединением полей двух таблиц таким образом, как будто дополнительные данные соединены с основными. В табли­цах могут быть выбраны не все поля, что не меняет принципа соединения. Ре­зультирующий набор будет иметь вид:

Иванов Р.0. Директор 6700 29.10.51

Петров А.П. Менеджер 5200 3.4.62

Семенова И.И. Менеджер 5200 12.10.64

Кузнецов П.Л. Секретарь 3600 7.11.81 Исп. срок до 31.6.2001

Васин Е.Е. Водитель 2500 20.5.78

Попов Л.Л. Водитель 2400 3.2.75

 

Использование п(утреннего соединения применимо не всегда. Например, при использовании внутреннего соединения таблиц с отношением "один-ко-многим" результат выполнения запроса может содержать избыточную информацию.

Рассмотрим в качестве примера запрос, в котором внутреннее соединение таб­лиц приводит к избыточной информации в результирующей выборке:

 

Набор данных включает поля названия (S_Name) и цены (S_Price) товара из таб­лицы Store склада, а также поля даты (C_Date) и количества (C_Move) товара из таблицы Cards движения товара. Число записей набора данных является произ­ведением числа записей в таблицах склада и движения товара. Результирующий набор данных может иметь вид:

<== предыдущая лекция | следующая лекция ==>
Name Position Salary | Редактирование записей
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 429; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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