SQL Correlated Subqueries
Learn correlated subqueries in SQL: how the inner query runs once per outer row, top salary per department, latest order per customer, faster alternatives.
Online Learning Platform
Free tutorials, solved practice problems and interview prep for QA and automation engineers: Python, Playwright, Selenium, SQL, Git and more.
Learn correlated subqueries in SQL: how the inner query runs once per outer row, top salary per department, latest order per customer, faster alternatives.
Learn SQL CROSS JOIN: the Cartesian product of two tables, generating combinations and calendars, filling report gaps, and the accidental cross join.
Learn Common Table Expressions (CTE) with the SQL WITH clause: simple and multiple CTEs, chaining steps, reusing a CTE, and CTE vs subquery vs view, on MySQL 8.
Learn SQL constraints in MySQL: NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK and DEFAULT, column vs table constraints, naming and listing them.
Convert data types in SQL with CAST and CONVERT: text to number, number to text, strings to dates, DECIMAL precision and implicit conversion pitfalls in MySQL.
MySQL string functions with examples: CONCAT, CONCAT_WS, LENGTH, UPPER, LOWER, SUBSTRING, LEFT, RIGHT, INSTR, REPLACE, TRIM, LPAD and SUBSTRING_INDEX.
MySQL numeric functions with examples: ROUND, TRUNCATE, CEIL, FLOOR, ABS, MOD, POWER, SQRT, integer division, percentages and RAND, step by step.
MySQL date and time functions with examples: NOW, CURDATE, YEAR, MONTH, DATE_FORMAT, DATEDIFF, TIMESTAMPDIFF, DATE_ADD, LAST_DAY, and grouping by month.
Replace and create NULLs in SQL: COALESCE, IFNULL, NULLIF and IF in MySQL, defaults for missing values, safe division by zero, and COALESCE vs IFNULL.
Learn SQL GROUP BY step by step: group rows and aggregate each group, group by several columns, expressions and joins, ROLLUP subtotals and ONLY_FULL_GROUP_BY.
Filter groups with the SQL HAVING clause: HAVING COUNT, SUM and AVG conditions, HAVING vs WHERE explained step by step, and finding duplicates, in MySQL.
Insert a row or update it if it exists. Learn MySQL INSERT ... ON DUPLICATE KEY UPDATE, INSERT IGNORE and REPLACE INTO, with real results and pitfalls.
Take free timed mock tests with answers and explanations.