Pengantar BigQuery
Matt Forrest
Field CTO
INSERT: Menambahkan baris data baru.UPDATE: Mengubah nilai yang ada di baris.DELETE: Menghapus data yang tidak diinginkan dari tabel.MERGE: Menggabungkan INSERT, UPDATE, dan DELETE dalam satu pernyataan.CREATE TABLE AS: Membuat tabel baru dari hasil kueri.WHERE saat menjalankan UPDATE-- Tentukan kolom di dalam tanda kurung
INSERT INTO customers (customer_id, name, email)
-- Setiap nilai adalah satu baris yang akan disisipkan
VALUES (1, "John Doe", "[email protected]"),
(2, "Jane Doe", "[email protected]"),
(3, "Alice Smith", "[email protected]");
UPDATE customers
-- Setel satu kolom untuk setiap pernyataan SET
SET email = "[email protected]"
-- Pastikan menyertakan WHERE, jika tidak
-- semua baris akan diperbarui
WHERE customer_id = 1;
UPDATE dengan subkueri atau joinUPDATE customers c
SET c.email = e.email
FROM emails e
WHERE c.customer_id = 1;
DELETE menghapus rekaman secara permanen dan tidak dapat dibatalkanDELETE FROM customers
-- Sertakan WHERE agar hanya baris tertentu yang dihapus
WHERE customer_id = 3;
DELETE FROM customers c
JOIN emails e USING (customer_id)
WHERE email = '[email protected]'
INSERT, UPDATE, dan DELETE dalam satu operasi-- Menetapkan tabel customers sebagai target MERGE customers AS target-- Sumber ditetapkan ke new_customers USING new_customers AS source-- Kondisi pencocokan ON target.customer_id = source.customer_id-- Jika email tidak cocok, perbarui email WHEN MATCHED AND target.email != source.email THEN UPDATE SET email = source.email-- Jika tidak ada kecocokan, sisipkan rekaman WHEN NOT MATCHED THEN INSERT (customer_id, name, email) VALUES (source.customer_id, source.name, source.email);
CREATE TABLE active_customers AS
SELECT customer_id, name, email
FROM customers
WHERE last_active_date > DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY);
Pengantar BigQuery