Перейти до вмісту
100% локально

Виділення таблиць і стовпців SQL

Перелічіть усі таблиці, JOIN і стовпці, які читає SQL запит, згруповані за пропозиціями.

Введення
Вихід

Виділення таблиць і стовпців SQL

Вставте SQL запит SELECT і цей інструмент точно визначить, що він торкається: які таблиці запитує, як ці таблиці об'єднані і які стовпці взяті зі списку SELECT, пропозиції WHERE, GROUP BY і ORDER BY. Він потрібен у момент, коли ви спадкуєте звіт запиту, повільну кінцеву точку або чужу міграцію і вам потрібно знати його реальний обсяг, перш ніж щось змінювати, без необхідності запускати запит в консолі бази даних.

Псевдоніми таблиць розв'язуються автоматично, тому "o.total" у запиті, що починається з "FROM orders o", вказується як реальна назва таблиці, а не однолітерний псевдонім. Кожен JOIN перелічується з вказанням його типу — inner, left, right, full, cross або старий синтаксис через кому — разом з умовою ON або списком USING, тому структура запиту видна з першого погляду. Вимкніть "Показувати стовпці з WHERE / GROUP BY / ORDER BY", щоб бачити тільки вибрані, або вимкніть "Показувати умови JOIN", щоб зберегти список JOIN, але приховати пропозиції ON. Перемикайтесь між побудчасним оглядом і плоским списком залежностей, який краще підходить для документування того, від чого залежить запит.

Загальні табличні вирази (WITH ...) і підзапити в пропозиції FROM також розпізнаються: CTE перелічується з таблицями, які читає його тіло, а похідна таблиця відображається як підзапит, а не фантомна назва таблиці. Коли запит об'єднує дві або більше таблиці і стовпець не має префіксу таблиці, інструмент не може визначити, до якої таблиці він належить — якщо ввімкнено опцію "Попереджувати про стовпці без вказання таблиці", цей стовпець буде позначений замість того, щоб мовчки вгадувати. Вставте кілька виразів, розділених крапками з комою, і кожен буде пронумерований і проаналізований окремо; усе, що не є запитом SELECT, буде позначено і пропущено, а не неправильно прочитано.

Це текстовий аналізатор, а не підключення до бази даних: він ніколи не виконує SQL, ніколи не підключається до сервера і запит ніколи не залишає ваш браузер. Безпечно вставляти робочі запити, включаючи ті, які містять реальні назви таблиць і стовпців. Коли ви закінчите, скопіюйте звіт, завантажте його як файл .txt або надішліть на вхід іншого інструменту, щоб продовжити роботу.

FAQ

Він виконує або перевіряє SQL?
Ні. Він читає запит як текст для пошуку посилань на таблиці, з'єднання і стовпці — він ніколи не виконує нічого в базі даних, тому працює навіть з SQL, до якого у вас сейчас немає з'єднання.
Звідки він знає, якій таблиці належить стовпець?
Він створює карту псевдонімів з пропозицій FROM і JOIN, тому "o.id" розв'язується в "orders", якщо запит містить "FROM orders o". Стовпець без префіксу призначається єдиній таблиці в межах дії або позначається як неоднозначний, коли є більше однієї.
Підтримує він JOIN, CTE і підзапити?
Так. Розпізнаються всі типи JOIN з його умовами, пропозиція WITH розбирається як іменований CTE з таблицями, які він читає, а підзапит у пропозиції FROM відображається як похідна таблиця, а не справжня.
Я можу вставити кілька запитів одночасно?
Так. Розділіть вирази крапками з комою і кожен буде пронумерований і проаналізований незалежно. Вираз, який не є запитом SELECT, буде позначений замість того, щоб бути неправильно прочитаним.
Мій SQL завантажується кудись?
Ні. Парсинг виконується повністю у вашому браузері — ваш запит, включаючи будь-які реальні назви таблиць і стовпців, ніколи не залишає ваш пристрій.