Заставка

Программирование на старых и современных языках, а так-же дизайн

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование на старых и современных языках, а так-же дизайн » SQL » Запрос SELECT JOIN в Microsoft Access 2002 (XP)


Запрос SELECT JOIN в Microsoft Access 2002 (XP)

Сообщений 1 страница 3 из 3

1

Есть таблицы с такими данными:
Person:

ID

GenderID

Firstname

Lastname

Birthday

1

2

Антон

Попов

01.01.1982

2

1

Марина

Надымова

05.03.1983

3

Паша

Шилов

03.07.1981

Gender:

GenderID

Description

1

Женский

2

Мужской

Вот следующий SQL запрос:

Код:
SELECT * FROM Person INNER JOIN Gender ON Person.GenderID=Gender.GenderID;

Результат:

Firstname

Lastname

Birthday

Gender

Антон

Попов

01.01.1982

Мужской

Марина

Надымова

05.03.1983

Женский

0

2

Если написать следующий SQL-запрос:

Код:
SELECT p.Firstname, p.Lastname, p.Birthday, g.Description AS Gender FROM Person AS p LEFT OUTER JOIN Gender AS g ON p.GenderID = g.GenderID;

У Паши Шилова не указан пол, поэтому спомощью LEFT OUTER JOIN можно найти и отобразить где нет пола, просто там будет пустота. Вот он результат:

Firstname

Lastname

Birthday

Gender

Антон

Попов

01.01.1982

Мужской

Марина

Надымова

05.03.1983

Женский

Паша

Шилов

03.07.1981

0

3

Добавим ещё запись в таблицу Person:
Person:

ID

GenderID

Firstname

Lastname

Birthday

4

2

Теперь напишим следующий SQL-запрос и выполним:

Код:
SELECT p.Firstname, p.Lastname, p.Birthday, g.Description AS Gender FROM Person AS p RIGHT JOIN Gender AS g ON p.GenderID = g.GenderID;

Результат:

Firstname

Lastname

Birthday

Gender

Марина

Надымова

05.03.1983

Женский

Мужской

Антон

Попов

01.01.1982

Мужской

0


Вы здесь » Программирование на старых и современных языках, а так-же дизайн » SQL » Запрос SELECT JOIN в Microsoft Access 2002 (XP)