SQL - MySQL
Start Spaced Repetition Session154 cards
Questions
Querying Data8
SELECT FROM - specific columns
codinglocked
Sign up to unlockSELECT without FROM
codinglocked
Sign up to unlockDISTINCT - NULL values
conceptuallocked
Sign up to unlockDISTINCT - multiple columns
codinglocked
Sign up to unlockSELECT DISTINCT
codinglocked
Sign up to unlockSQL clause evaluation order
conceptuallocked
Sign up to unlockSELECT * - select all columns
conceptuallocked
Sign up to unlockColumn alias
codinglocked
Sign up to unlockFiltering22
AND vs OR precedence
conceptuallocked
Sign up to unlockWHERE - NOT IN
codinglocked
Sign up to unlockOR - return values and NULL
conceptuallocked
Sign up to unlockAND/OR short-circuit evaluation
conceptuallocked
Sign up to unlockAND - return values and NULL
conceptuallocked
Sign up to unlockSQL comparison operators
conceptuallocked
Sign up to unlockWHERE - LIKE wildcards
codinglocked
Sign up to unlockWHERE - IS NULL vs = NULL
conceptuallocked
Sign up to unlockWHERE - BETWEEN
codinglocked
Sign up to unlockWHERE - IN
codinglocked
Sign up to unlockWHERE - AND and OR
codinglocked
Sign up to unlockWHERE clause
conceptuallocked
Sign up to unlockIN - NULL handling
conceptuallocked
Sign up to unlockNOT IN - NULL pitfall
conceptuallocked
Sign up to unlockBETWEEN - NOT BETWEEN
codinglocked
Sign up to unlockLIKE - NOT LIKE
codinglocked
Sign up to unlockBETWEEN - date ranges
codinglocked
Sign up to unlockLIKE - case sensitivity
conceptuallocked
Sign up to unlockLIKE - ESCAPE clause
codinglocked
Sign up to unlockBETWEEN - NULL operands
conceptuallocked
Sign up to unlockIS NULL - return values
conceptuallocked
Sign up to unlockIS NOT NULL
codinglocked
Sign up to unlockSorting & Limiting10
ORDER BY - NULL placement
conceptuallocked
Sign up to unlockORDER BY - custom order with FIELD()
codinglocked
Sign up to unlockORDER BY - multiple columns
codinglocked
Sign up to unlockORDER BY - expression and alias
codinglocked
Sign up to unlockORDER BY - ASC and DESC
conceptuallocked
Sign up to unlockLIMIT clause
conceptuallocked
Sign up to unlockLIMIT - pagination
codinglocked
Sign up to unlockLIMIT - with ORDER BY
conceptuallocked
Sign up to unlockLIMIT - with DISTINCT
conceptuallocked
Sign up to unlockLIMIT - nth highest value
codinglocked
Sign up to unlockJoins18
Table alias
conceptuallocked
Sign up to unlockJOIN - USING vs ON
conceptuallocked
Sign up to unlockINNER JOIN
conceptuallocked
Sign up to unlockFULL OUTER JOIN in MySQL
codinglocked
Sign up to unlockSQL join types
conceptuallocked
Sign up to unlockINNER JOIN - multiple tables
codinglocked
Sign up to unlockINNER JOIN - with GROUP BY
codinglocked
Sign up to unlockNon-equi join
conceptuallocked
Sign up to unlockLEFT JOIN
conceptuallocked
Sign up to unlockLEFT JOIN - find unmatched rows
codinglocked
Sign up to unlockLEFT JOIN - condition in ON vs WHERE
conceptuallocked
Sign up to unlockRIGHT JOIN
conceptuallocked
Sign up to unlockSelf join
conceptuallocked
Sign up to unlockSelf join - manager hierarchy
codinglocked
Sign up to unlockSelf join - pairs within a group
codinglocked
Sign up to unlockCROSS JOIN with WHERE
conceptuallocked
Sign up to unlockCROSS JOIN
conceptuallocked
Sign up to unlockCROSS JOIN - fill missing combinations
codinglocked
Sign up to unlockGrouping & Aggregation17
GROUP BY clause
conceptuallocked
Sign up to unlockGROUP BY - aggregate per group
codinglocked
Sign up to unlockGROUP BY - column alias
conceptuallocked
Sign up to unlockGROUP BY - expression
codinglocked
Sign up to unlockGROUP BY - multiple columns
codinglocked
Sign up to unlockGROUP BY vs DISTINCT
conceptuallocked
Sign up to unlockGROUP BY - result ordering
conceptuallocked
Sign up to unlockHAVING - multiple conditions
codinglocked
Sign up to unlockHAVING vs WHERE
conceptuallocked
Sign up to unlockHAVING clause
conceptuallocked
Sign up to unlockHAVING COUNT - filter groups by size
codinglocked
Sign up to unlockHAVING COUNT - find duplicates
codinglocked
Sign up to unlockWITH ROLLUP
codinglocked
Sign up to unlockHAVING - SELECT alias
conceptuallocked
Sign up to unlockGrouping sets
conceptuallocked
Sign up to unlockGROUPING() function
codinglocked
Sign up to unlockROLLUP - multiple columns hierarchy
conceptuallocked
Sign up to unlockSubqueries9
Subquery
conceptuallocked
Sign up to unlockSubquery - IN with multiple rows
codinglocked
Sign up to unlockSubquery - comparison operator
codinglocked
Sign up to unlockCorrelated subquery - above group average
codinglocked
Sign up to unlockCorrelated subquery
conceptuallocked
Sign up to unlockEXISTS and NOT EXISTS
codinglocked
Sign up to unlockDerived table - join with a base table
codinglocked
Sign up to unlockDerived table - aggregate over grouped results
codinglocked
Sign up to unlockDerived table
conceptuallocked
Sign up to unlockSet Operations10
UNION vs UNION ALL
conceptuallocked
Sign up to unlockUNION
conceptuallocked
Sign up to unlockUNION vs JOIN
conceptuallocked
Sign up to unlockUNION - output column names
codinglocked
Sign up to unlockUNION - tag each row's source
codinglocked
Sign up to unlockEXCEPT ALL vs EXCEPT DISTINCT
conceptuallocked
Sign up to unlockEXCEPT
conceptuallocked
Sign up to unlockUNION - ORDER BY
codinglocked
Sign up to unlockINTERSECT
conceptuallocked
Sign up to unlockINTERSECT ALL vs INTERSECT DISTINCT
conceptuallocked
Sign up to unlockData Types9
MySQL data type categories
conceptuallocked
Sign up to unlockDECIMAL vs FLOAT/DOUBLE
conceptuallocked
Sign up to unlockMySQL BOOLEAN type
conceptuallocked
Sign up to unlockCHAR vs VARCHAR
conceptuallocked
Sign up to unlockMySQL integer types and UNSIGNED
conceptuallocked
Sign up to unlockENUM vs SET
conceptuallocked
Sign up to unlockTEXT vs BLOB
conceptuallocked
Sign up to unlockMySQL JSON data type
conceptuallocked
Sign up to unlockDATETIME vs TIMESTAMP
conceptuallocked
Sign up to unlockTable Features11
AUTO_INCREMENT
codinglocked
Sign up to unlockAUTO_INCREMENT - reset value
codinglocked
Sign up to unlockAUTO_INCREMENT - add to existing table
codinglocked
Sign up to unlockLAST_INSERT_ID()
codinglocked
Sign up to unlockTemporary table
conceptuallocked
Sign up to unlockTemporary tables with connection pooling
conceptuallocked
Sign up to unlockTemporary table - create from a query
codinglocked
Sign up to unlockGenerated column
codinglocked
Sign up to unlockTemporary table - name shadowing and DROP TEMPORARY TABLE
conceptuallocked
Sign up to unlockGenerated column - VIRTUAL vs STORED
conceptuallocked
Sign up to unlockGenerated column - expression rules
conceptuallocked
Sign up to unlockConstraints23
Primary key
conceptuallocked
Sign up to unlockPrimary key - add and drop on existing table
codinglocked
Sign up to unlockComposite primary key
codinglocked
Sign up to unlockForeign key
conceptuallocked
Sign up to unlockForeign key - ON DELETE / ON UPDATE options
conceptuallocked
Sign up to unlockForeign key - drop constraint
codinglocked
Sign up to unlockSelf-referencing foreign key
codinglocked
Sign up to unlockDisabling foreign key checks
codinglocked
Sign up to unlockNOT NULL constraint
conceptuallocked
Sign up to unlockNOT NULL - add to existing column
codinglocked
Sign up to unlockNOT NULL - remove from column
codinglocked
Sign up to unlockUNIQUE constraint
codinglocked
Sign up to unlockUNIQUE - NULL values
conceptuallocked
Sign up to unlockPrimary key vs UNIQUE
conceptuallocked
Sign up to unlockUNIQUE - index and add/drop
codinglocked
Sign up to unlockCHECK constraint
codinglocked
Sign up to unlockCHECK - column vs table constraint
codinglocked
Sign up to unlockCHECK - NULL and UNKNOWN
conceptuallocked
Sign up to unlockCHECK - ENFORCED vs NOT ENFORCED
conceptuallocked
Sign up to unlockCHECK - add, drop, and auto names
codinglocked
Sign up to unlockDEFAULT keyword in INSERT
codinglocked
Sign up to unlockDEFAULT - add and drop on existing column
codinglocked
Sign up to unlockDEFAULT constraint
codinglocked
Sign up to unlockModifying Data17
INSERT statement
codinglocked
Sign up to unlockINSERT - multiple rows in one statement
codinglocked
Sign up to unlockINSERT - date literals and expressions
codinglocked
Sign up to unlockINSERT INTO ... SELECT
codinglocked
Sign up to unlockMulti-row INSERT - max_allowed_packet limit
conceptuallocked
Sign up to unlockINSERT - scalar subqueries in VALUES
codinglocked
Sign up to unlockUPDATE statement
codinglocked
Sign up to unlockUPDATE - set from existing value with REPLACE()
codinglocked
Sign up to unlockUPDATE JOIN - INNER JOIN
codinglocked
Sign up to unlockUPDATE - subquery in SET
codinglocked
Sign up to unlockUPDATE - LOW_PRIORITY and IGNORE
conceptuallocked
Sign up to unlockDELETE - ORDER BY and LIMIT
codinglocked
Sign up to unlockUPDATE JOIN - LEFT JOIN with fallback
codinglocked
Sign up to unlockDELETE statement
codinglocked
Sign up to unlockDELETE vs TRUNCATE TABLE
conceptuallocked
Sign up to unlockDELETE JOIN - INNER JOIN across tables
codinglocked
Sign up to unlockDELETE JOIN - LEFT JOIN orphan rows
codinglocked
Sign up to unlock