Temporary Table
Learn what a temporary table stores, how long it lives, why its rows go stale, and how naming and support differ between database engines.
Learn what a temporary table stores, how long it lives, why its rows go stale, and how naming and support differ between database engines.
Group database changes with commit and rollback, define the transaction boundary, and distinguish atomicity from correct or idempotent work.
Separate a window partition, ordering, and frame; distinguish seven rows from seven calendar days and make tied row selection deliberate.
Use nested queries and named WITH results to express SQL dependencies without assuming a fixed execution order or automatic speedup.
Define a group, separate WHERE from HAVING, and choose counts, averages, and denominators that match the intended population.
Predict matching row counts, distinguish unmatched rows from NULL attributes, and prevent repeated order amounts from inflating totals.
Convert text deliberately with CAST and TRY_CAST, preserve failed inputs, and distinguish a valid type from a valid business value.
Distinguish row identity from references, understand composite keys, and see which errors key constraints can and cannot prevent.
Understand SQL NULL, why ordinary comparisons can be unknown, and how filtering, counting, and COALESCE change a report.
Learn what a pandas Series is, how one column differs from a narrow table, why its index controls alignment, and how it skips missing values.
Learn what a pandas DataFrame holds, why each column has its own type, what the index is for, and where a table in memory stops being the right tool.
Learn why writing through a filtered DataFrame changes nothing, what copy-on-write guarantees in pandas 3, and how to modify a table in one step.
Learn when to stack tables with concat and when to join them with merge, why duplicate keys multiply rows, and how to check a join before trusting it.
Learn how groupby splits rows, applies a function, and combines the results, why text columns raise, and how missing keys vanish from a summary.
Learn what a DataFrame index is, how loc and iloc differ, why a loc slice includes its endpoint, and when to reset the index after filtering.
Learn how a boolean mask filters rows in pandas, why conditions need parentheses and element-wise operators, and how missing values drop out silently.
Test small behavior with explicit expectations, then verify real component boundaries; distinguish a passing example from a general correctness claim.
Read with as a scoped setup-and-cleanup contract, check what a library actually closes or commits, and distinguish cleanup from data correctness.
Understand one-pass iteration, deferred execution, and why a generator saves memory only when its consumer and retained state stay bounded.
Use type hints to describe calls and runtime validation to check incoming values; neither replaces the other or defines business rules automatically.
Distinguish import packages, installable distributions, and wheels, and check the built artifact outside the source tree.
Separate dependency declarations from resolved locks, understand platform selections, and distinguish checking a lock from updating it.
Understand what a Python virtual environment isolates, how to select its interpreter, and why an environment folder is not a portable deployment.
Learn what refactoring changes and what it must not, how duplication becomes one function, and why a way to verify behavior comes first.
Learn how a class defines a type, what init and self do, how an attribute differs from a method, and when a function is the better choice.
Learn what a module, package, and library are, which names each import form binds, what runs at import time, and why import star causes trouble.
Learn how a docstring documents a function’s purpose, inputs, and result, how it differs from a comment, and where help and tooling read it from.
Learn which names a function can see, why assigning inside a body makes a name local, what UnboundLocalError means, and when global is the wrong fix.
Learn how parameters differ from arguments, how positional and keyword arguments match, and why a mutable default value persists between calls.
Learn how def defines a function, why return differs from print, what a call actually runs, and when a function returns None.
Learn which Python objects can change in place, why two names can share one list, how copies differ, and where mutable defaults cause bugs.
Learn the comprehension syntax for lists, dicts, and sets, how filtering works, when a plain loop reads better, and what the speed claim rests on.
Learn how a Python set keeps unique values, why it has no positions, which operators compare two sets, and when membership beats a list.
Learn how a dictionary maps keys to values, which keys are allowed, when to use get instead of indexing, and how insertion order behaves.
Learn why a tuple is immutable, how unpacking assigns its fields, why the comma makes the tuple, and when a tuple beats a list.
Learn how a Python list stores ordered values, which methods add and remove them, and how remove and pop fail differently.
Learn how f-strings and format() insert values, how width, alignment, and precision work, and why formatting changes display but not the value.
Learn when a for loop or a while loop fits, how range builds sequences, what break and continue do, and why a loop can never end.
Learn how if, elif, and else choose one branch, why test order and indentation matter, and what happens when no branch runs.
Learn what comparisons return in Python, how strings order by code point, what counts as true, and why and/or return operands, not just booleans.
Learn zero-based and negative positions, half-open slices, why an index can fail while a slice quietly clamps, and how to locate substrings.
Learn how Python strings store text, why they cannot be changed in place, how escape sequences work, and which operators apply to text.
Learn how Python data types decide which operations work, when numbers convert automatically, and why explicit conversion of text can fail.
Learn what assignment binds in Python, why a name has no fixed type, how shared lists behave, and which variable names are valid or risky.
Learn how a Jupyter notebook combines code, output, and notes, why execution order changes results, and how to rerun it from a fresh kernel.
Understand exact byte recovery, why smaller files do not repair bad data, and how stream boundaries affect independent parallel reads.
See how serialization preserves logical values for storage or exchange, and why successful parsing still needs a shared schema and meaning.
Separate Unicode code points from encoded bytes, decode with the agreed encoding, and recognize when text corruption cannot be reversed.
Understand a search index as a lookup structure and why source changes, permissions, and index freshness need coordination.
Learn how atomic publication exposes a complete accepted version and where that guarantee stops.