1Z0-909 study materials
1Z0-909 study resources

1Z0-909 key terms

1Z0-909 · Get comfortable with the vocabulary.

Common Table Expression (CTE)

A named temporary result set defined with WITH before a query and usable within that statement. It can be recursive, referencing itself until a termination condition is met, and improves readability over deeply nested subqueries.

Related: Recursive CTE, Window Function
Recursive CTE

A CTE containing an anchor SELECT combined with a recursive SELECT via UNION ALL or UNION DISTINCT. It repeats until no new rows are produced, and is capped by cte_max_recursion_depth to prevent runaway loops.

Related: Common Table Expression (CTE)
Window Function

A function that computes a value across a set of rows related to the current row without collapsing them, declared with OVER. Examples include ROW_NUMBER, RANK, and SUM, each respecting an optional PARTITION BY and ORDER BY.

Related: Named Window, Frame Clause
Named Window

A window specification defined once with the WINDOW clause and referenced by name in multiple OVER clauses. It reduces duplication and can be extended or overridden by later window definitions in the same query.

Related: Window Function, Frame Clause
Frame Clause

The ROWS or RANGE portion of a window definition that limits which rows a window function sees relative to the current row, such as ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW for running totals.

Related: Window Function, Named Window
LATERAL Derived Table

A derived table in the FROM clause marked with LATERAL that may reference columns of preceding tables in the same FROM list. It enables per-row subqueries, similar to a correlated join, without a separate subquery in the select list.

Related: Derived Table
Derived Table

A subquery used in the FROM clause that produces a temporary table for the outer query. In MySQL 8.0 it may be merged, materialized, or, when marked LATERAL, correlated with earlier FROM items.

Related: LATERAL Derived Table, Common Table Expression (CTE)
JSON_TABLE

A table function that shreds a JSON document into relational rows and columns using a path expression and column definitions. It lets SQL joins and filters operate directly on nested JSON arrays and objects.

Related: JSON Path Expression, JSON Data Type
JSON Path Expression

A string such as $.items[*].price that addresses values inside a JSON document. Paths use $ for the root, dots for members, and brackets for array indexes, and appear in JSON_EXTRACT and related functions.

Related: JSON_TABLE, JSON Data Type
JSON Data Type

A native column type storing validated JSON documents in an optimized binary format. It supports path-based extraction, in-place updates with JSON_SET, and generated columns or functional indexes for efficient querying.

Related: JSON Path Expression, Functional Index
Functional Index

An index created on an expression rather than a plain column, for example an index on a JSON extraction or a lower-cased string. It is implemented as a hidden generated column and speeds queries that use the same expression.

Related: Generated Column, JSON Data Type
Generated Column

A column whose value is computed from an expression over other columns. VIRTUAL columns are evaluated on read, while STORED columns are written to disk and may be indexed directly.

Related: Functional Index, Invisible Column
Invisible Column

A column marked INVISIBLE that is excluded from SELECT * output and from INSERT statements that omit a column list. It still stores data and can be queried by explicit name, aiding schema changes without breaking applications.

Related: Generated Column
CHECK Constraint

A table or column constraint enforcing a boolean expression on inserted or updated rows. MySQL 8.0.16 and later enforce CHECK constraints; earlier versions parsed and ignored them, so version awareness matters.

Related: Foreign Key, NOT NULL Constraint
Foreign Key

A constraint requiring values in a child column to match values in a parent key, with optional ON DELETE and ON UPDATE actions such as CASCADE or SET NULL. It enforces referential integrity and requires a suitable parent index.

Related: CHECK Constraint, InnoDB Storage Engine
NOT NULL Constraint

A column attribute forbidding NULL values. Because NULL is unknown rather than empty, it interacts specially with comparisons, aggregates, and unique indexes, where multiple NULLs are permitted unless the column is NOT NULL.

Related: CHECK Constraint, Three-Valued Logic
Three-Valued Logic

SQL's treatment of comparisons as TRUE, FALSE, or UNKNOWN when NULL is involved. UNKNOWN rows are excluded by WHERE, so tests must use IS NULL rather than equality to find missing values.

Related: NOT NULL Constraint, COALESCE
COALESCE

A function returning the first non-NULL argument, or NULL if all are NULL. It is commonly used to substitute defaults for missing values and is a standard alternative to vendor-specific IFNULL.

Related: Three-Valued Logic, CASE Expression
CASE Expression

A conditional expression returning one of several results based on WHEN conditions, in simple or searched form. It works in SELECT, WHERE, ORDER BY, and updates, enabling inline branching without procedural code.

Related: COALESCE
InnoDB Storage Engine

MySQL's default transactional engine, providing row-level locking, multi-version concurrency control, foreign keys, and crash recovery through redo and undo logs. Most developer-focused exam content assumes InnoDB behavior.

Related: Foreign Key, Transaction Isolation Level
Transaction Isolation Level

A setting controlling visibility of concurrent changes, such as READ COMMITTED or REPEATABLE READ. InnoDB defaults to REPEATABLE READ, which uses consistent snapshots and can produce different results than READ COMMITTED for repeated reads.

Related: InnoDB Storage Engine, Deadlock
Deadlock

A cycle in which two or more transactions each hold a lock the other needs. InnoDB detects the cycle and rolls back one transaction with error 1213, so applications should catch the error and retry.

Related: Transaction Isolation Level, Savepoint
Savepoint

A named marker inside a transaction created with SAVEPOINT and used with ROLLBACK TO to undo part of the work while keeping earlier changes. It supports partial rollback without ending the whole transaction.

Related: Deadlock, Autocommit
Autocommit

A session setting that commits each statement immediately when enabled, which is the default. Developers disable it or use explicit START TRANSACTION to group statements into an atomic unit.

Related: Savepoint, Transaction Isolation Level
Stored Procedure

A named routine stored in the database and invoked with CALL, containing SQL statements and procedural logic such as loops and handlers. It can accept IN, OUT, and INOUT parameters and runs with definer or invoker privileges.

Related: Stored Function, DELIMITER
Stored Function

A routine returning a single scalar value and callable inside SQL expressions such as SELECT or WHERE. Unlike procedures, functions require a declared return type and are subject to restrictions on statements that modify data.

Related: Stored Procedure, Deterministic Function
DELIMITER

A client command changing the statement terminator, commonly to //, so that semicolons inside a stored program body do not end the CREATE statement prematurely. It is a mysql client feature, not server SQL.

Related: Stored Procedure
Deterministic Function

A stored function attribute declaring that the function returns the same result for the same inputs. It is required knowledge for binary logging and replication safety, and affects whether the function may run when binlog trust is strict.

Related: Stored Function
Trigger

A stored program fired automatically before or after INSERT, UPDATE, or DELETE on a table. Triggers can access OLD and NEW row values and are useful for auditing, validation, and derived-column maintenance.

Related: Event Scheduler, Stored Procedure
Event Scheduler

A server component executing scheduled SQL tasks defined with CREATE EVENT, either once or on a recurring interval. It must be enabled via event_scheduler, and privileges and definer context affect execution.

Related: Trigger
Handler

A stored program construct declaring how to respond to conditions such as SQLSTATE or warnings, using CONTINUE, EXIT, or UNDO. Handlers let routines recover gracefully instead of aborting on the first error.

Related: Stored Procedure, SIGNAL Statement
SIGNAL Statement

A statement raising a user-defined error or warning with a chosen SQLSTATE and message, typically inside a stored program. It pairs with RESIGNAL, which re-raises a condition inside a handler.

Related: Handler
Prepared Statement

A statement parsed and planned once, then executed repeatedly with different parameter values using PREPARE, EXECUTE, and DEALLOCATE. It improves reuse and separates SQL text from data, helping prevent injection.

Related: SQL Injection, EXPLAIN
SQL Injection

An attack inserting malicious SQL through unsanitized input. Mitigation includes parameterized statements, strict typing, least-privilege accounts, and avoiding dynamic SQL built by string concatenation.

Related: Prepared Statement
EXPLAIN

A statement showing the optimizer's execution plan, including join order, access type, key used, and estimated rows. EXPLAIN ANALYZE additionally runs the query and reports actual timing and row counts.

Related: Covering Index, Prepared Statement
Covering Index

An index containing every column a query needs, so the server answers from the index alone without reading table rows. EXPLAIN reports this as Using index, indicating reduced I/O.

Related: EXPLAIN, Composite Index
Composite Index

An index on multiple columns in a defined order. It can serve queries filtering on a leftmost prefix of those columns, so column order in the index definition strongly influences which queries benefit.

Related: Covering Index, Functional Index
Optimizer Hint

A comment-style directive such as /*+ INDEX(t idx) */ influencing plan choice without changing query semantics. Hints are advisory and version-dependent, so they should be used sparingly and retested after upgrades.

Related: EXPLAIN, Composite Index