SQL Reference Guide
Revision Time: 4 mins
19. SQL for Data Engineers Reference
SQL design patterns for ETL, Pipelines, and Data Warehousing.
Deduplication
Return: ValueUse ROW_NUMBER window functions to filter out duplicate records.
Syntax signature:
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY id ORDER BY updated_at DESC) rn FROM t) WHERE rn = 1;Code snippet:
python
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY login_time DESC) rn FROM user_logins) WHERE rn = 1;Expected Output:
De-duplicated latest observations.Remember: Always ensure correct syntax formatting when calling Deduplication.
Incremental Load
Return: ValueSelect only modified records since last processed date.
Syntax signature:
SELECT * FROM t WHERE updated_at > :last_load_timestamp;Code snippet:
python
SELECT * FROM orders WHERE updated_at > '2026-07-13 00:00:00';Expected Output:
New or modified orders.Remember: Always ensure correct syntax formatting when calling Incremental Load.
MERGE
Return: ValueUnified upsert command.
Syntax signature:
MERGE INTO target USING source ON keys WHEN MATCHED THEN UPDATE ... WHEN NOT MATCHED THEN INSERT ...Code snippet:
python
MERGE INTO dim_users t USING staging_users s ON t.user_id = s.user_id
WHEN MATCHED THEN UPDATE SET t.email = s.email
WHEN NOT MATCHED THEN INSERT (user_id, email) VALUES (s.user_id, s.email);Expected Output:
Synced dimension table.Remember: Always ensure correct syntax formatting when calling MERGE.
UPSERT
Return: ValueInsert record, overwrite on conflict.
Syntax signature:
INSERT INTO t (id, val) VALUES (1, 'A') ON CONFLICT (id) DO UPDATE SET val = EXCLUDED.val;Code snippet:
python
INSERT INTO user_profile (id, city) VALUES (101, 'SF') ON CONFLICT (id) DO UPDATE SET city = EXCLUDED.city;Expected Output:
Overwritten city cell.Remember: Always ensure correct syntax formatting when calling UPSERT.
JSON
Return: ValueParse JSON values from column blobs.
Syntax signature:
SELECT col->>'key' FROM t;Code snippet:
python
SELECT meta_data->>'browser' as browser FROM logs;Expected Output:
Parsed browser names.Remember: Always ensure correct syntax formatting when calling JSON.
CSV
Return: ValueNatively query csv files.
Syntax signature:
SELECT * FROM read_csv_auto('file.csv');Code snippet:
python
SELECT * FROM read_csv_auto('orders.csv');Expected Output:
CSV records.Remember: Always ensure correct syntax formatting when calling CSV.
SCD Type 1
Return: ValueSlowly Changing Dimension Type 1: Overwrite attributes without tracking history.
Syntax signature:
UPDATE dim_table SET attr = source.attr WHERE id = source.id;Code snippet:
python
UPDATE dim_customers SET address = 'NY' WHERE id = 1002;Expected Output:
Overwrite address.Remember: Always ensure correct syntax formatting when calling SCD Type 1.
SCD Type 2
Return: ValueSlowly Changing Dimension Type 2: Track history using valid range dates.
Syntax signature:
INSERT INTO dim (id, attr, start_date, end_date, active) VALUES (id, attr, today, NULL, 1);Code snippet:
python
Close active row by setting end_date = today, active = 0, and insert new row.Expected Output:
Two rows: historical and active.Remember: Always ensure correct syntax formatting when calling SCD Type 2.
Data Cleaning
Return: ValueStandard clean parameters mapping.
Syntax signature:
TRIM(LOWER(COALESCE(col, 'default')))Code snippet:
python
SELECT TRIM(LOWER(COALESCE(email, 'unknown@domain.com'))) FROM users;Expected Output:
Cleaned email formats.Remember: Always ensure correct syntax formatting when calling Data Cleaning.
ETL Patterns
Return: ValueChained CTE queries for staging, transformation, and target loading.
Syntax signature:
WITH staged AS (...), transformed AS (...) INSERT INTO target SELECT * FROM transformed;Code snippet:
python
Standard modular layout pattern.Expected Output:
ETL pipeline execution.Remember: Always ensure correct syntax formatting when calling ETL Patterns.