/ config

Settings

Theme
Language

Lesson text

Pick a typeface and size that make long lessons comfortable to read.
Font
Size
S

Code text

consumer.subscribe(topics)
Font
Size
XS

Progress

Free readingUnlock every lesson and hide progress
ResourcesGitHub repositorycourse source code→
/ contents

Course outline

0 / 63 (0%)
    1. 01INSERT and RETURNING25m
    2. 02SELECT: WHERE/ORDER/LIMIT and keyset25m
    3. 03UPDATE/DELETE safely25m
    4. 04upsert via ON CONFLICT20m
    5. 05RETURNING old/new20m
    6. 06Sober NULL semantics20m
HomeGitHub repository
04/ 11·6 lessons·2 h 15 min

CRUD fluency

Confident CRUD: INSERT ... RETURNING, SELECT with WHERE/ORDER/LIMIT and keyset pagination, safe UPDATE/DELETE, upsert via ON CONFLICT, PG18 RETURNING old/new, and sober NULL semantics (the NOT IN + NULL trap, COALESCE/NULLIF/IS DISTINCT FROM).

Start module→Continue · INSERT and RETURNING→Reread module→Next module →
Progress0 / 6
0%
Lessons
6
Duration
2 h 15 min
Stack
Go
/ lessons

Lessons

6 lessons · 2 h 15 min
  1. 01✓INSERT and RETURNING↳ continue from here#insert#returning#crud25m→
  2. 02✓SELECT: WHERE/ORDER/LIMIT and keyset↳ continue from here#select#pagination#keyset25m→
  3. 03✓UPDATE/DELETE safely↳ continue from here#update#delete#transaction25m→
  4. 04✓upsert via ON CONFLICT↳ continue from here#upsert#on-conflict#excluded20m→
  5. 05✓RETURNING old/new↳ continue from here#returning#pg18#audit20m→
  6. 06✓Sober NULL semantics↳ continue from here#null#three-valued-logic#not-in20m→
← Previous moduleSchemaNext module →Querying across tables