В настоящее время я пишу приложение C ++ для анализа и выполнения операторов SQL. Я дошел до этого, но теперь мне трудно продолжать, потому что я не знаю, что должно произойти в определенных ситуациях, например, с объединением таблиц, например, в:
SELECT col1.table1, col2.table2
FROM table1, table2;
Без явного указания JOIN.
Есть ли веб-сайт или книга или что-то, на что я могу сослаться, чтобы узнать, что должно произойти в определенных обстоятельствах? Я нашел один или два веб-сайта, которые поддерживают интерактивный SQL, но их больше интересует правильный синтаксис и т. Д.
Я хочу быть в состоянии найти то, что должно произойти, даже (особенно), если это просто означает соответствующее сообщение об ошибке.
3 ответа
Вы не указали, с каким типом SQL-сервера вы работаете, но MySQL бесплатен, и некоторые коммерческие поставщики SQL имеют бесплатные версии своих продуктов для разработчиков. Установите и попробуйте.
Это старый синтаксис для CROSS JOIN
. По сути, все строки таблицы 1 объединены со всеми строками таблицы 2: полное перекрестное произведение обеих таблиц.
Это совершенно правильный синтаксис SQL, но просто старый (из 80-х и 90-х). Вам лучше использовать / принять только CROSS JOIN
.
Если вы хотите знать, что должно произойти, то единственное место, где можно посмотреть, - это стандарт SQL2016: https://www.iso.org/standard/63555.html
В ИСО / МЭК 9075-1: 2016 описывается концептуальная основа, используемая в других частях ИСО / МЭК 9075 для определения грамматики SQL и результата обработки операторов на этом языке с помощью реализации SQL .
Это ~ 175 долларов ...
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.