NastępnyNastępny poradnik
Jak pisać funkcje okna SQL za pomocą sztucznej inteligencji
Techniczne
PRZEWODNIK techniczny
Pisanie zapytań SQL za pomocą sztucznej inteligencji oznacza opisanie pytania, na które chcesz uzyskać odpowiedź, prostym językiem angielskim, podanie modelowi definicji tabeli i kolumn oraz zlecenie mu opracowania, wyjaśnienia lub optymalizacji kodu SQL.
Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~3 min
Ma to znaczenie, ponieważ analitycy, marketerzy i programiści mogą znacznie szybciej uzyskać odpowiedzi z baz danych, pod warunkiem, że przed zaufaniem porównają wyniki z rzeczywistymi danymi.
Modele dużych języków nauczyły się języka SQL z ogromnych ilości publicznego kodu, dokumentacji i forów pytań i odpowiedzi, dzięki czemu dobrze radzą sobie z tworzeniem zapytań poprawnych składniowo. Jedyne, czego nie mogą wiedzieć, to Twoja baza danych. Bez schematu model odgaduje nazwy tabel, takie jak „użytkownicy” lub „zamówienia”, oraz nazwy kolumn, takie jak „created_at”, a zapytanie może zakończyć się niepowodzeniem lub, co gorsza, zostać uruchomione i zwrócić błędną odpowiedź. Największym ulepszeniem, jakie możesz wprowadzić, jest wklejenie schematu: instrukcji CREATE TABLE lub listy tabel, kolumn, typów danych i powiązań tabel za pomocą kluczy obcych. Dodanie kilku przykładowych wierszy i uwag na temat reguł biznesowych, takich jak „anulowane zamówienia mają status = 'X'” lub „kwoty są przechowywane w centach”, zapobiega wielu cichym błędom. Podaj także dialekt SQL. PostgreSQL, MySQL, SQL Server, SQLite, BigQuery i Snowflake różnią się funkcjami daty, łączeniem ciągów, LIMIT i TOP oraz innymi szczegółami. Zapytanie napisane dla jednego może zakończyć się niepowodzeniem lub zachowywać się inaczej w innym. Niezawodny przepływ pracy składa się z czterech etapów: podanie kontekstu, zadanie pytania prostym angielskim, poproszenie modelu o wyjaśnienie słowne zapytania, a następnie przetestowanie. Krok wyjaśniania ma znaczenie, ponieważ ujawnia nieporozumienia, takie jak liczenie wierszy zamiast odrębnych klientów lub użycie INNER JOIN, które po cichu usuwa klientów, którzy nie mają zamówień. Do typowych błędnych przekonań zalicza się przekonanie, że uruchamiane zapytanie jest poprawne (niewłaściwe złączenie może podwoić sumę), że dane wyjściowe AI można bezpiecznie uruchomić w środowisku produkcyjnym (klauzula UPDATE lub DELETE bez klauzuli WHERE powoduje zmianę każdego wiersza) oraz że należy udostępniać prawdziwe dane. Zwykle wystarczy sam schemat, co również sprawia, że informacje o klientach nie trafiają do czatu. Ogólni asystenci, tacy jak ChatGPT, Claude i Gemini, narzędzia do kodowania, takie jak GitHub Copilot i pomocnicy AI wbudowani w wiele edytorów baz danych, działają najlepiej w przypadku tego samego wzorca.
Właściciel małego sklepu internetowego wkleja instrukcje CREATE TABLE do tabel zamówień i klientów, zadaje pytanie „Których 10 klientów wydało najwięcej w ciągu ostatnich 90 dni?” i uruchamia zwrócone zapytanie na kopii bazy danych przed użyciem liczb.
Analityk danych wkleja powolne, 60-liniowe zapytanie raportujące wraz z wynikami WYJAŚNIJ ANALIZĘ i prosi sztuczną inteligencję o zasugerowanie indeksu i przepisanie skorelowanego podzapytania w formie łączenia.
Nowy pracownik, który dziedziczy stary raport miesięczny, prosi sztuczną inteligencję o wyjaśnienie wiersz po wierszu istniejącego zapytania, w tym o tym, co robi każdy element DOŁĄCZ i GROUP BY, zanim cokolwiek zmieni.
Programista przenoszący raport z MySQL do PostgreSQL prosi sztuczną inteligencję o przetłumaczenie funkcji takich jak DATE_FORMAT na to_char PostgreSQL i wypisanie wszelkich różnic w zachowaniu wartych przetestowania.
Text-to-SQL to aktywny obszar badań, a dostawcy baz danych i narzędzi analitycznych coraz częściej budują asystentów języka naturalnego w edytorach zapytań i narzędziach BI. Asystenci ci działają najlepiej, gdy potrafią odczytać metadane schematu, opisy kolumn i warstwę semantyczną, która raz dla każdego definiuje takie terminy jak „aktywny klient”. Dokładność nieuporządkowanych, rzeczywistych baz danych nadal pozostaje niższa od wyników czystych testów porównawczych, ponieważ niejednoznaczne definicje biznesowe są problemem ludzkim, a nie problemem składniowym. Umiejętność, która pozostanie cenna, to wiedzieć dokładnie, jakie pytanie zadajesz i jak sprawdzić, czy odpowiedź jest prawidłowa, nawet gdy samo tworzenie kodu SQL stanie się bardziej zautomatyzowane.
Darmowy newsletter
Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.
Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.
Sprawdź się
Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.
Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę
Pisanie zapytań SQL za pomocą sztucznej inteligencji oznacza opisanie pytania, na które chcesz uzyskać odpowiedź, prostym językiem angielskim, podanie modelowi definicji tabeli i kolumn oraz zlecenie mu opracowania, wyjaśnienia lub optymalizacji kodu SQL. Ma to znaczenie, ponieważ analitycy, marketerzy i programiści mogą znacznie szybciej uzyskać odpowiedzi z baz danych, pod warunkiem, że przed zaufaniem porównają wyniki z rzeczywistymi danymi.
Bez Twojego schematu model musi odgadnąć nazwy tabel i kolumn. Nadanie mu prawdziwej struktury i zasad biznesowych eliminuje większość domysłów.
PostgreSQL, MySQL, SQL Server, SQLite, BigQuery i Snowflake w różny sposób obsługują daty, łączenie ciągów i limity wierszy, więc zapytanie dotyczące jednego może zostać przerwane w innym.
Jest to łączenie fanoutowe: dołączenie do tabeli zawierającej kilka wierszy na zamówienie powoduje zduplikowanie sumy każdego zamówienia. Przed połączeniem należy kruszyć kruszywo o odpowiednim uziarnieniu, często we współczynniku CTE.
Wyjaśnienie w prostym języku pozwala porównać, co faktycznie robi zapytanie, z tym, co miałeś na myśli, wychwytując błędy logiczne, które nadal działają bez skarg.
COUNT(*) zlicza wiersze niezależnie od zawartości, natomiast COUNT(kolumna) ignoruje wiersze, w których ta kolumna ma wartość NULL. Mieszanie ich zmienia wyniki po cichu.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
Jak pisać funkcje okna SQL za pomocą sztucznej inteligencji
Techniczne