Reviewed by Aditya Kumar · Last reviewed 2026-03-24
**Architectural Logic**: SCD0 (no history) to SCD3 (current + previous value) adds limited history without full Type 2 complexity. **Migration**: Add prev_value and effective_from columns; on update, shift current→previous before applying new value. **SQL**: `UPDATE dim SET...
This easy-level SQL question appears frequently in data engineering interviews at companies like Nagarro. While less common, it tests deeper understanding that distinguishes strong candidates. Mastering the underlying concepts (sql) will help you answer variations of this question confidently.
Start by clearly defining the core concept being asked about. Interviewers want to see that you understand the fundamentals before diving into implementation details. Structure your answer with a definition, then explain the practical application with a concise example.
Architectural Logic: SCD0 (no history) to SCD3 (current + previous value) adds limited history without full Type 2 complexity. Migration: Add prev_value and effective_from columns; on update, shift current→previous before applying new value. SQL: UPDATE dim SET prev_value = current_value, current_value = new_value, updated_at = NOW() WHERE key = X. Or MERGE with equivalent logic. Why SCD3: Suits attributes with rare, important changes (e.g., customer tier); avoids Type 2 row explosion. Scalability: SCD3 is storage-efficient vs SCD2; limited to one prior value. Migration Strategy: Backfill prev_value from archive or set to current for first migration; establish effective dates for auditability. Trade-off: SCD3 is simpler than SCD2 but can't answer 'what was value at date X' for arbitrary history.
Red Flag: Migrating to SCD3 without business sign-off on 'one previous value'—may need full history later. Pro-Move: Document SCD3's limitation; recommend SCD2 if audit trail is regulatory requirement.
Some links below are affiliate links. If you buy through them we may earn a small commission at no extra cost to you — it helps keep DataEngPrep free.
According to DataEngPrep.tech, this is one of the most frequently asked SQL interview questions, reported at 1 company. DataEngPrep.tech maintains an editor-reviewed database of 1,863 data engineering interview questions across 7 categories.