Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Осваиваем работу с псевдонимами

Читайте также:
  1. Ах, нет: почему не стоит уговаривать фирму нанять вас на работу
  2. В связи с переводом работника на другую работу
  3. ВЛИЯНИЕ ФИЗИКО-ХИМИЧЕСКИХ ПОКАЗАТЕЛЕЙ МАСЕЛ НА РАБОТУ МЕХАНИЗМОВ
  4. ВЛИЯНИЕ ФИЗИКО-ХИМИЧЕСКИХ ПОКАЗАТЕЛЕЙ ТОПЛИВ НА РАБОТУ ДВИГАТЕЛЕЙ
  5. Давайте работу как можно большему числу производителей прибавочной стоимости
  6. Ерошенко и другие ребята, с которыми активно занимались, не сочли работу по патентации ни нужной, ни важной.
  7. Задание на курсовую работу

Лекция № 6

(2009 год)

Использование подзапросов

Вложенные запросы

Задание 1: требуется узнать фамилию са­мого молодого сотрудника.

 

SELECT Fam, Year_b FROM Pers WHERE Year_b= (SELECT max (Year_b) FROM Pers)

 

В этом операторе используется вложенный оператор

SELECT max(Year_b) FROM Pers,

который возвращает максимальный год рождения. Результат используется в элементе WHERE основного оператора SELECT для поиска сотрудника (или сотрудников), чей год рождения совпадает с максимальным.

 

2. С помощью вложенных запросов обращаемся к разным таблицам

Для этого создайте таблицу Persl, аналогичную по структуре таблице Pers, но относящуюся к другой организации. Заполните таблицу Persl данными, отличающимися от таблицы Pers.

Замечание. Впрочем, можно всего этого и не делать, заменив в приведенных ниже примерах таблицу Persl таблицей Pers, т.е. работая с од­ной и той же таблицей. Смысл операторов все равно будет понятен.

Задание 2: требуется в таблице Pers найти всех однофамильцев сотрудников другой организации.

Выполните запрос

SELECT * FROM Pers WHERE Fam IN (SELECT Fam FROM Persl)

 

Вложенный оператор (SELECT Fam FROM Persl) возвращает множество фамилий из таблицы Persl, а конструкция WHERE основного оператора SELECT отбирает из фамилий в таблице Pers те, которые имеются в множестве фамилий из Persl.

 

Осваиваем ключевые слова АLL и ANY в условии WHERE.

Слово ALL означает, что условие выполняется для всех записей, a ANY — хотя бы для одной записи.

Задание 3: в базе данных Pers требуется найти сотрудников, ко­торые не старше всех сотрудников из Persl (любого выделенного сотрудника).

 

SELECT Fam, Year_b FROM Pers WHERE Year_b >= ALL (SELECT Year_b FROM Persl)

 

Задание 4: требуется получить список самых молодых сотрудников организа­ции.

Для этого достаточно в предыдущем запросе за­менить Persl на Pers

Задание 5: требуется получить список сотрудников в Pers, которые моложе хотя бы одного сотрудника в Persl.

 

SELECT Fam, Year_b FROM Pers WHERE Year_b > ANY (SELECT Year_b FROM Persl)

 

Осваиваем работу с псевдонимами

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

 

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

 

Задание 6: первый из приведенных выше операто­ров перепишите следующим образом:

 

SELECT P.* FROM Pers P, Dep D WHERE (P.Dep=D.Dep) AND ( D.Proisv=true)

 

В этом примере таблице Pers дан псевдоним Р, а таблице Dep - D.

 

 

5. Осваиваем ключевое слово EXISTS ( используетсяпосле WHERE)

В условиях, содержащих вложенные операторы SELECT, может использо­ваться ключевое слово EXISTS, которое означает отбор только тех записей, для которых вложенный запрос возвращает хотя бы одно значение).

Задание 7: требуется получить список сотрудников, которые имеют хотя бы одного сверстника в таблице Pers.

 

SELECT Mum, Fam, Year_b

FROM Pers p1


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


<== предыдущая страница | следующая страница ==>
Требования к участникам| Осваиваем приемы самообъединения таблицы.

mybiblioteka.su - 2015-2024 год. (0.009 сек.)