SELECT s.fam,s.kurs,t.fam,t.kurs FROM stud.s,TEACHER T WHERE s.kurs=t.kurs.В рез выполнения данного запроса происх выборка всех фамилий и № курса из БД Stud.dbf в соответствии с выборкой из БД teacher для записи,у которой совпадают № курсов
Здесъ для БД Stud u Teacher заданы новые временные переменные s u t. Сами колонки при этом получат имена FAM_A KURS_A FAM_B KURS_B.Если хотим задатъ собств имена колонок,а не исп задаваемые DF,необходимо полъзоватся опцией AS: SELECT FAM AS FAMYLIA,KURS AS N_KURS FROM STUD ORDER BY FAM.Если нужно вывести сформированное выражение и отсортированное в др БД ,кот затем будет открыта в текущей раб области ,здесь нужно нужно добавить ,куда именно отправлять наше зн-е :INTO TABL STUD1.Запросы, кот исп в качестве источника данных только одной таблицы ,носят название однотабличн. запросов.В случае выбора информ из нескольких таблиц, одним из вариантов явл обьъдинение результатов неск запросов, вып независимо друг от друга. Для размещения неск запросов вместе и обьединения их вывода исп приложение UNION,обьединяющее вывод 2х и более SQLзапросов в единый набор строк и столбцов
БД Students Teacher Predm Usp
Sfam tfam pnum ocenka
Simya timya pname udate
Sotch totch tnom unom
Sstip tnum kurs snum
Snum tdata hours pnum
Для получения списка всех студентов и преподов фамилии которых закл между буквами К и С, можно воспользов сл запросом:SELECT SFAM SIMYA FROM STUD WHERE SFAM
BETWEEN ‘K’ AND ‘C’ UNION SELECT FROM TEACHER WHERE TFAM BETWEEN
‘K’AND ‘C’.Когда 2 или более запроса подвергаются обьединен их столбцы вывода д\б совместимы для обьединения. Это значит что для каждого запроса необходимо включение одинакового числа столбцов в том же порядке что и 1,2,3 и т д.При этом должна присутствовать совместимость типов, например символьное поле должно иметь одинаковое число символов, нельзя исп агрегатные ф-ции предл SELECT в случ запроса в обьединении . Предложение UNION будет автоматически искл дубликаты строк из вывода.Исп-я Опцию order by можно упорядочить вывод из обьединения.
Многотабличный запрос
Одна из особенностей запроса SQL явл их способность определять связи м-ду несколькими таблицами и выводить инф из них в терминах этих связей. Такие о-ции называют обьединением. Исп-я объединения ,происходит непосредственное связывание инф-ции с любым № таблицы и т о создать связи м-ду сравниваемыми частями данных. При многотабличном запросе табл, представленные в виде списков предл.FROM отдельно друг от друга запятой. Предикат запроса может ссылаться к любому столбцу любой связанной таблицы. Обычно предикат сравнивает зн-я столбца различных таблиц. Чтобы опр-ть ,удовлетворяют ли WHERE установл.условию SELECT TEACHER . TFAM ,PREDM, TNAME FROM TEACHER, PREDMET WHERE TEACHER TNUM=PREDM.TNUM Эти таблицы уже были соединены через поле TNUM . Эта связь наз состоянием справочной целосности. Используя такое обьединение , можно извл данные терминов этой связи ,обьед.многотабл.запросов которые исп.предикаты, основ.на равенствах, называют обьединения Та же самая методика м\б использована для обьединения вместе 2х
одиночной таблицы. Например допускается изобразить объединение таблицы с собой как объединение 2х копий одной и той же таблицы, причем она на самом деле не копируется, но SQL выполняет команды так, как если бы это было сделано. Когда объед.
таблицы с собой все повторяемые имена столбцов заполняются префиксными именами таблицы. Это можно сделать с пом-ю опр-я временных имен, наз псевдонимами. Выведем список студентов с одинаковым р-ром стипендии.
SELECT first.sfam, second.sfam, third.sstip
FROM students first, student second, students third
WHERE first.sstip=second.sstip
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.