Google'ın veri analitiği programı ve bulut veri sertifikaları SQL'i BigQuery üzerinde öğretir. Bu laboratuvardaki her şey BigQuery yazımıyla çalışır.
Sınav bilgisiSoru sayısı, süre, geçme notu ve kayıt koşulları zaman zaman değişir. Kayıt olmadan önce sınav sağlayıcısının sayfasındaki güncel konu listesini ve bilgileri kontrol et. Buradaki denemeler resmi soruların kopyası değildir; aynı konu alanlarını ölçer.
1. Pencere sonucuna göre filtre: QUALIFY
SELECT category, name, price FROM products WHERE TRUE QUALIFY ROW_NUMBER() OVER (PARTITION BY category ORDER BY price DESC) = 1;
2. Koşullu sayım ve güvenli bölme
SELECT device,
COUNT(DISTINCT user_id) AS kullanici,
COUNTIF(event_type = 'purchase') AS satin_alma,
ROUND(SAFE_DIVIDE(COUNTIF(event_type = 'purchase'), COUNT(*)) * 100, 2) AS olay_orani
FROM web_events
GROUP BY device;
3. Tarihler
SELECT DATE_TRUNC(DATE '2024-05-17', MONTH) AS ay_basi,
DATE_DIFF(DATE '2024-12-31', DATE '2024-12-01', DAY) AS gun,
FORMAT_DATE('%Y-%m', DATE '2024-05-17') AS ay,
EXTRACT(DAYOFWEEK FROM DATE '2024-05-19') AS haftanin_gunu,
LAST_DAY(DATE '2024-02-10') AS ay_sonu;
DAYOFWEEK pazar için 1, cumartesi için 7 döndürür.
4. Takvim üretme: GENERATE_DATE_ARRAY
Boş günleri de göstermek için önce tarih dizisi üret, UNNEST ile satırlara aç, sonra LEFT JOIN yap.
SELECT gun, COUNT(o.order_id) AS siparis FROM UNNEST(GENERATE_DATE_ARRAY(DATE '2024-12-01', DATE '2024-12-07')) AS gun LEFT JOIN orders o ON o.order_date = gun GROUP BY gun ORDER BY gun;
5. Kısayollar
SELECT * EXCEPT (email) FROM customers ORDER BY customer_id LIMIT 3;
SELECT customer_id FROM customers EXCEPT DISTINCT SELECT customer_id FROM orders;
Maliyet hatırlatmasıİsteğe bağlı fiyatlandırmada taranan bayt ücretlendirilir.
SELECT * yerine gereken sütunları seçmek ve bölüm sütununa filtre koymak taramayı azaltır; LIMIT ise kümelenmemiş tabloda taramayı azaltmaz.