Возможно, вы знакомы с SQL-синтаксисом операции объединения, использующей ключевые слова JOIN и ON, находящиеся перед выражением оценки сравниваемых строк в двух таблицах.
Часть I. Антипаттерны логической структуры базы данных Файл примера:JD-Required/anti/join.sql
SELECT * FROM Bugs AS b JOIN BugsProducts AS bp ON (b.bug_id = bp.bug_id)
Языком SQL поддерживается также более лаконичный синтаксис для выражения объединения двух таблиц. Если у столбцов одинаковые имена в обеих таблицах, предыдущий запрос можно перезаписать следующим образом:
Файл npuMepa-.JD-Required/anti/join.sql
SELECT * FROM Bugs JOIN BugsProducts USING (bug_id);
Однако если требуется определить первичный ключ псевдоключа с именем id во всех таблицах, тогда столбец внешнего ключа в зависимой таблице ни в коем случае не может использовать то же имя, что и первичный ключ, на который он ссылается. Вместо этого приходится применить более многословный синтаксис ON:
Файлпримера -.ID-Required/an ti/join. sql
SELECT * FROM Bugs AS b JOIN BugsProducts AS bp ON (b.id = bp.bug_id);
Опубликовал vovan666
June 18 2013 12:25:35 ·
0 Комментариев ·
4151 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.