Mapa tygodnia/Moduł 05
sql
bigquery
analiza-danych
40 min · średni

SQL i Google BigQuery z AI — fundament dla nieanalityka

BigQuery to baza, w której Excel się dławi po 100 tys. wierszy. SQL to język, którym jej zadajesz pytania. AI pisze SQL za Ciebie — nawet jeśli nigdy nie napisałeś żadnej linii kodu.

Tryb: pełny

Executive summary

  • BigQuery to baza danych Google dostępna od 2017 r. dla każdej firmy — ta sama, której Google używa wewnętrznie do analizy YouTube i Map. Skala: nie tysiące, a miliony i miliardy wierszy w sekundy.
  • SQL (Structured Query Language) to język rozmowy z bazą. 5 podstawowych klauzul: SELECT (co), FROM (skąd), WHERE (filtr), GROUP BY (grupowanie), ORDER BY (sortowanie). Klocki, nie czarna magia.
  • Nie musisz znać SQL na pamięć. Gemini w BigQuery Studio (lub po prostu Gemini z opisem schematu tabeli) pisze zapytanie za Ciebie — Ty opisujesz w języku naturalnym, jakie pytanie zadajesz danym.
  • Konfiguracja środowiska: cloud.google.com → free trial ($300 kredytu na 90 dni, wymagana karta, ale bez auto-renewal) → utwórz projekt → włącz BigQuery API → załaduj pierwsze dane.

Czym to jest

BigQuery to hurtownia danych w chmurze Google (analityczna baza kolumnowa). SQL to standardowy język zapytań do takich baz. W kombinacji z AI — Gemini w samym BigQuery Studio lub osobnym czacie z opisem schematu — pisanie zapytań staje się dostępne dla osób bez wykształcenia technicznego. Dla menedżera/marketera = koniec ery „eksportuję CSV i sklejam w Excelu".

Kluczowe pojęcia

Google BigQuery
Hurtownia danych Google. Tabele z kolumnami, jak Excel, ale skalowane do miliardów wierszy. Płacisz za przeskanowane dane (~5 USD/TB) i miejsce na dysku.
SQL — Structured Query Language
Standardowy język rozmowy z bazami danych. Zadajesz pytanie, dostajesz tabelę odpowiedzi.
SELECT
Co chcesz wyciągnąć (np. SELECT name, email — kolumny imię i email).
FROM
Skąd (z której tabeli). FROM orders = z tabeli zamówień.
WHERE
Filtr. WHERE country = 'PL' = tylko wiersze z Polski.
GROUP BY
Grupuje wiersze o tej samej wartości w kolumnie. GROUP BY date = jedna grupa na dzień.
ORDER BY
Sortuje wynik. ORDER BY revenue DESC = od najwyższego przychodu.
JOIN
Łączenie tabel po wspólnej kolumnie. INNER JOIN customers ON orders.customer_id = customers.id.
BigQuery Studio
Interfejs do BigQuery w przeglądarce. Edytor SQL + integracja z Gemini = AI pisze i wyjaśnia zapytania.
Schemat tabeli
Lista kolumn z typami danych. KRYTYCZNY kontekst dla AI — bez schematu LLM zgaduje nazwy kolumn i pisze błędne zapytania.

Pryncypia

  1. 01Zawsze podawaj AI schemat tabeli przed prośbą o zapytanie. „Mam tabelę orders z kolumnami: id (INT64), date (DATE), revenue (FLOAT64), status (STRING)..." — to fundament.
  2. 02Zaczynaj od prostego SELECT * FROM ... LIMIT 10 żeby zobaczyć kształt danych. Potem dorzucaj filtry i grupowania.
  3. 03WHERE filtruj ZANIM GROUP BY (oszczędność kosztu skanowania).
  4. 04Każde zapytanie z Gemini przeczytaj i zrozum LINIA PO LINII zanim klikniesz „Run". To Twoja odpowiedzialność, nie AI.
  5. 05Trzymaj się kosztów: w BigQuery preview pokazuje, ile MB/GB przeskanuje zapytanie. Zerknij tam, zanim odpalisz „SELECT * z 500 mln wierszy".

Przykłady zastosowań

Najprostsze zapytanie

SELECT name, email FROM customers WHERE country = 'PL' ORDER BY name LIMIT 100; — wyciągnij imię i email pierwszych 100 polskich klientów po alfabecie.

Sprzedaż dzienna

SELECT date, SUM(revenue) AS daily_revenue, COUNT(*) AS orders_count FROM orders WHERE date BETWEEN '2026-01-01' AND '2026-01-31' GROUP BY date ORDER BY date; — przychód i liczba zamówień każdego dnia stycznia.

Połączenie tabel

SELECT c.name, SUM(o.revenue) AS total_spent FROM orders o INNER JOIN customers c ON o.customer_id = c.id WHERE o.status = 'paid' GROUP BY c.name ORDER BY total_spent DESC LIMIT 10; — top 10 klientów po wartości opłaconych zamówień.

Case study

Marketing manager kupuje 6h tygodniowo dzięki Gemini w BigQuery

Marketing manager sklepu internetowego co tydzień ręcznie eksportuje 4 CSV (Shoper, GA4, Google Ads, Meta Ads), skleja w Excelu, oblicza ERS (Effective Revenue Share) na kanał. Cały proces: 6h/tyg.

Podejście

  1. 1.Krok 1: dane z 4 systemów są już automatycznie ładowane do BigQuery (jednorazowa konfiguracja konektorów — zob. moduł 7 o hurtowni).
  2. 2.Krok 2: w BigQuery Studio otwiera Gemini i prosi: „Mam 4 tabele: orders (sklep), ga4_sessions, ads_google, ads_meta. Schematy: [wkleja]. Napisz zapytanie liczące ERS (koszty/przychody opłacone × 100%) per kanał marketingowy, dzień po dniu, dla ostatnich 28 dni."
  3. 3.Krok 3: Gemini generuje zapytanie z 4-stronnym JOIN, GROUP BY date + channel, formułą ERS. Manager czyta linia po linii, rozumie, klika Run.
  4. 4.Krok 4: wynik trafia do Looker Studio (dawniej Data Studio) jako dashboard, który odświeża się sam codziennie o 9:00.
Efekt: Z 6h/tyg. ręcznej pracy → 0 godzin. Dashboard zawsze aktualny, zarząd ma raport przed kawą. Bonus: manager nauczył się „rozmawiać z bazą" i teraz robi ad-hoc analizy w 5 min, których wcześniej w ogóle nie robił (bo „szkoda czasu").

Najczęstsze błędy — checklista

0/4 oznaczone

Prompty gotowe do użycia

Generowanie zapytania SQL z opisem biznesowym

Kiedy: Masz schemat tabel i pytanie biznesowe — chcesz, żeby AI napisało SQL.

Jesteś ekspertem SQL dla Google BigQuery (dialekt Standard SQL). Mam następujące tabele:

[WKLEJ SCHEMATY — najlepiej w formacie:
tabela_1 (kolumna1 TYP, kolumna2 TYP, …)
tabela_2 (…)
relacje: tabela_1.id ← tabela_2.foreign_id]

Napisz zapytanie BigQuery, które odpowie na pytanie: [PYTANIE BIZNESOWE].

Wymagania:
1) Tylko Standard SQL (BigQuery), nie Legacy.
2) Wyjaśnij każdą klauzulę krótkim komentarzem inline (-- ...).
3) Dodaj filtr daty (np. ostatnie 30 dni od CURRENT_DATE()) jeśli sensowne.
4) Wybierz tylko niezbędne kolumny w SELECT — żadnego SELECT *.
5) Na końcu podaj szacowany koszt zapytania w GB, jeśli tabele mają sumarycznie [PODAJ ROZMIAR].

Po zapytaniu napisz 2 pytania kontrolne, którymi zweryfikuję poprawność wyniku (np. „sumę dziennych przychodów porównaj z…").

Częsty błąd: Brak schematu = halucynacja kolumn. Brak filtru daty = drogo i wolno.

Wyjaśnij mi to zapytanie

Kiedy: Odziedziczyłeś zapytanie SQL i nie wiesz, co robi.

Wyjaśnij krok po kroku, co robi poniższe zapytanie BigQuery. Format: (1) jednozdaniowy opis biznesowy „co liczy", (2) lista wszystkich tabel i kolumn użytych (z rolą każdej), (3) wyjaśnienie każdej klauzuli (SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, ORDER BY) w języku polskim, (4) potencjalne pułapki (duplikaty z JOIN, NULL-e w agregacjach, brakujące filtry daty), (5) jak zweryfikowałbym poprawność. Zapytanie: [WKLEJ].

LAB — ćwiczenie

LAB · 20 min · średni

Sformułuj 3 pytania biznesowe i wyobraź sobie zapytania SQL, które na nie odpowiedzą. (Lab można zrobić bez konta BigQuery — chodzi o myślenie w kategoriach „pytanie → SELECT/FROM/WHERE/GROUP BY".)

  1. 1Załóż, że masz tabelę orders(order_id, date, customer_id, revenue, status, channel) i customers(id, name, country, signup_date). Napisz pytanie biznesowe + szkic zapytania SQL.

  2. 2Wymyśl pytanie, które wymaga GROUP BY po 2 wymiarach (np. data + kanał).

  3. 3Wymyśl pytanie, które wymaga ratio dwóch metryk (np. konwersja, ROAS, ERS).

Pytania kontrolne

Powiązane moduły

Skończyłeś moduł? Oznacz go i ruszaj dalej.