КАТЕГОРИИ: Архитектура-(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) |
Оператор SELECT
Оператор SELECT є одним з найголовніших. Він виконується над деякими таблицями, що входять до БД. Насправді в БД можуть бути не тільки постійно збережені таблиці, але також і тимчасові таблиці і так звані представлення. Уявлення - це просто SELECT - вираження, що зберігаються в БД. З точки зору користувача уявлення - це таблиця, яка постійно не зберігається в БД, а виникає при зверненні. З точки зору оператора SELECT, і постійно збережені таблиці і тимчасові таблиці-представлення виглядають абсолютно однаково. При реальному виконанні оператора SELECT система враховує відмінність між збереженими таблицями і уявленнями, прихованими від користувача. Результатом виконання операції SELECT завжди є таблиця. Оператор SELECT має наступний формат: SELECT [DISTINCT] <Список полів> або * FROM <Список таблиць> [WHERE <Умова відбору>] [ORDER BY <Список полів для сортування>] [GROUP BY <Список полів для групування>] [HAVING <Умова групування>] [UNION <Вкладений оператор SELECT>] Вибрати всі поля SELECT * FROM <ім'я таблиці>
Вибір певних полів SELECT <ім'я стовпця 1>,..., <ім'я стовпця п> FROM <ім'я таблиці>
Приклад. Вибрати всі поля таблиці «Співробітники»: SELECT * FROM Співробітники
Приклад. Вибрати певні поля таблиці «Співробітники»: SELECT Табномер, Прізвище, Відділ FROM Співробітники
Вибір полів, що задовольняють деякому умові: SELECT <ім'я стовпця 1>,..., <ім'я стовпця п> FROM <ім'я таблиць (и)> WHERE <умова відбору>;
Приклад. У результаті запиту видати прізвище і відділ роботи всіх співробітників з посадою 'Завідувач': SELECT Відділ, Прізвище FROM Співробітники WHERE Посада = '"Завідувач"
Модифікатор DISTINCT (запобігання вибірки повторюваних слів) Дубльованими є такі рядки в результуючій таблиці, в яких ідентичний кожен стовпець. Іноді (в залежності від завдання) буває необхідно усунути всі повтори рядків з результуючого набору. Цій меті служить модифікатор DISTINCT. Даний модифікатор може бути зазначений тільки один раз в списку обираних елементів і діє на весь список. SELECT [DISTINCT] <ім'я стовпця 1>,..., <Ім'я стовпця п> FROM <ім'я таблиць (и)> WHERE <умова відбору>;
Приклад. Обрати всі посади таблиці "Співробітники": SELECT DISTINCT Посада FROM Співробітники;
ORDER ВУ (упорядкування рядків у результаті запиту) Операнд ORDER BY містить список полів, що визначають порядок сортування записів результуючого набору даних. За замовчуванням сортування по кожному полю виконується в порядку зростання значень. Якщо необхідно задати для поля сортування за спаданням, то після імені цього поля вказується описувач DESC. ORDER BY <порядок рядків> [ASC | DESC] Операнд ORDER BY завжди повинен слідувати за WHERE. Порядок рядків може задаватися одним із двох способів: - іменами стовпців - номерами стовпців. Стовпець, який визначає порядок виведення рядків, не обов'язково повинен бути присутнім в списку обираних елементів (стовпців): Приклад. Упорядкувати записи по табельному номеру співробітників: SELECT * FROM Співробітники ORDER BY ТабНомер ASC | DESC;
Приклад. Видати прізвище та найменування відділу роботи для всіх завідувачів, при цьому записи впорядкувати за прізвища: SELECT Відділ, Прізвище FROM Співробітники WHERE Посада = 'Завідувач' ORDER BY 2
Приклад. Видати всі записи таблиці «Співробітники», при цьому записи впорядкувати за прізвища, а потім по табельному номеру в зростаючому порядку: SELECT * FROM Співробітники ORDER BY Прізвище, ТабНомер ASC;
Використання псевдонімів (alias) Іноді доводиться виконувати запити, в яких таблиця з'єднується сама з собою, або одна таблиця з'єднується двічі з іншою таблицею. У цьому випадку використовують псевдоніми таблиці, які дозволяють розрізняти сполучаються копії таблиць. Псевдоніми (аліаси або ім'я кореляції) вводиться в розділі FROM і пишуться через пробіл після імені таблиці. Імена кореляції повинні використовуватися в якості префіксів перед ім'ям стовпця і відділятися від нього крапкою: Приклад: SELECT S.Прізвище, О.НомВід FROM Співробітники S, Відділ О Псевдоніми існують не тільки для таблиць, але і для полів. Якщо в запиті вказується одне і те ж поле з різних екземплярів однієї таблиці, вони повинні бути перейменовані для усунення неоднозначності в найменуваннях колонок результуючої таблиці. Визначення імені кореляції робиться тільки під час виконання запиту. Приклад: SELECT SI.Прізвище AS Прізвище1, S2.Оклад AS ОкладМалий FROM Співробітники S1, Співробітники S2 WHERE SI.Оклад < S2.0клад
11.4. АРИФМЕТИЧНІ ВИРАЗИ. Арифметичні вирази в WHERE. У WHERE формується умова з'єднання таблиць, або умова вибору рядків. приклад: SELECT Прізвище, Оклад, Премія FROM Співробітники WHERE Премія> 0,25 * 0клад Приклад. Отримати список інженерів у зворотному порядку відношення Премія / Оклад: SELECT Прізвище, Оклад, Премія, Премія / Оклад FROM Співробітники ORDER BY Премія / Оклад, DESC
11.5. ГРУПОВІ ФУНКЦІЇ. До груп рядків, витягнутим в результаті запиту можна застосувати групові функції:
Дата добавления: 2014-01-11; Просмотров: 445; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |