Если после LIMIT нет точки с запятой, это не работает!
Я пытался понять, почему WHERE не нужна точка с запятой. Интересно, это одно и то же правило для всех программ SQL или только для Big Query? Я хотел бы понять, есть ли другие слова, которым нужна точка с запятой, например LIMIT.
В BigQuery, как и во многих диалектах SQL, точка с запятой используется для отделения операторов друг от друга, создавая «последовательность» операторов, если они используются правильно.
Например, если вы попытаетесь запустить:
SELECT * FROM `my_dataset.my_table`
SELECT * FROM `my_dataset.my_table2`
Он не будет работать.
Однако, если вы попытаетесь запустить:
SELECT * FROM `my_dataset.my_table`;
SELECT * FROM `my_dataset.my_table2`;
Это будет работать.
Это связано с тем, что BigQuery точно понимает, где заканчивается каждый оператор и где начинается следующий, благодаря точкам с запятой.
Точка с запятой НЕ связана конкретно с предложением «LIMIT». Я предполагаю, что на одной странице запроса было несколько операторов, и когда вы указали точку с запятой, она была отформатирована правильно. Как только вы удалили точку с запятой, BigQuery потерялся при переводе вашего кода.
Если вам нужен конкретный ответ на ваш сценарий, вы можете предоставить нам код, который вы пытались запустить.
Дополнительную информацию о точке с запятой в BigQuery можно найти здесь: https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#termination_semicolons
Обратите внимание, что они предоставили свой код, но 1) в виде изображения и 2) в ответе, а не в части своего вопроса. Также просьба не отвечать на вопросы не по теме.
Предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.