
[ SQL: запросы, объединяющие 2 таблицы. ]
Date: 4.03.03
INTRO
В своих предыдущих статьях я рассказал почти все основа языка запросов
SQL. В этой статье речь пойдёт о запросах объединяющих в себе две
таблицы. Постараюсь объяснить все предельно просто, материал довольно
запутанный.
Итак. Приступим. Есть две таблицы:
TabM
-------------------
ID NAM AGE
1 Alex 23
2 Sergey 44
3 Fyodor 33
4 Anton 24
-------------------
TabW
-------------------
ID NAM AGE
1 Lena 32
2 Julia 23
3 Klava 41
4 Luda 30
SELECT
Собственно, общий вид простейшего запроса на выборку выглядит следующим
образом:
SELECT [поля или *]
FROM [названия таблиц через запятую]
WHERE [условие]
Ну тут, я думаю, всё понятно. Если нет, то почитай мои предыдущие стьтьи. Хочу
заметить, что условие писать не обязательно. Рассмотрим несколько
примеров:
SELECT *
FROM TabM,TabW
WHERE TabM.ID = TabW.ID
Здесь в качестве результата получится таблица, в которой будут выведены все
столбцы из двух таблиц, где значение поля ID таблицы TabM будет
соответствовать полю ID таблицы TabW:
ID NAM AGE ID NAM AGE
1 Lena 32 1 Alex 23
2 Julia 23 2 Sergey 44
3 Klava 41 3 Fyodor 33
4 Luda 30 4 Anton 24
Тот-же самый запрос можно написать следующим образом:
SELECT *
FROM TabM a,TabW b
WHERE a.ID = b.ID
Как видишь, имена таблиц я заменил на a и b соответственно. Этот приём можно
применять если условие очень большое, и не хочется писать имя таблицы
несколько раз. А если надо вывести только определённые колонки, то пишем:
SELECT a.NAM,a.AGE
from tabw a,tabm b
where a.id = b.id;
И выводятся только два поля:
NAM AGE
Lena 32
Julia 23
Klava 41
Luda 30
OUTTRO
В данной статье я не стал рассматривать запросы изменяющие
информацию, посколько они очень редко используются. А если и понадобятся, то
общий вид всегда можно найти в Help'е MS SQL SERVER 2000.
Good luck.
iNo     [KODSWEB]
!!! Статья является собственностью команды KODSWEB !!!
!!! Любое распространение без нашего разрешения строго запрешено !!!
|