Skip to content

MySQL - Querying Data

Selecting Data

Select All Columns

SELECT * FROM table_name;

Select Specific Columns

SELECT column1 FROM table_name;
SELECT column1, column2 FROM table_name;

Rename Columns (Alias)

SELECT column1 AS new_name FROM table_name;

Distinct Values

SELECT DISTINCT column_name FROM table_name;

Ordering Results

SELECT * FROM table_name ORDER BY column_name;        -- Ascending
SELECT * FROM table_name ORDER BY column_name DESC;   -- Descending

Limit Results

SELECT * FROM table_name LIMIT n;
SELECT * FROM table_name LIMIT offset, row_count;

Filtering Data - WHERE Clause

Numeric Filters

WHERE column > value;
WHERE column >= value;
WHERE column < value;
WHERE column <= value;
WHERE column = value;
WHERE column <> value;     -- Not equal
WHERE column != value;     -- Also not equal
WHERE column BETWEEN m AND n;

Text Filters

WHERE column = 'value';
WHERE column IN ('value1', 'value2');
WHERE column LIKE '%pattern%';     -- Contains

Multiple Conditions

WHERE condition1 AND condition2;
WHERE condition1 OR condition2;

NULL Checks

WHERE column IS NULL;
WHERE column IS NOT NULL;

Aggregating Data

Aggregate Functions

SELECT COUNT(*) FROM table_name;
SELECT SUM(column) FROM table_name;
SELECT AVG(column) FROM table_name;
SELECT MIN(column) FROM table_name;
SELECT MAX(column) FROM table_name;

Grouping and Summarizing

SELECT column, COUNT(*) FROM table_name GROUP BY column;

SELECT column, SUM(column2) AS alias_name
FROM table_name
GROUP BY column
ORDER BY alias_name DESC;

SELECT column, SUM(column2) AS alias_name
FROM table_name
GROUP BY column
HAVING alias_name > value;

Filtering Before and After Grouping

SELECT column, SUM(column2) AS alias_name
FROM table_name
WHERE condition
GROUP BY column
HAVING alias_name > value;

MySQL-Specific Features

Limit with Offset

SELECT * FROM table_name LIMIT offset, count;

Case Sensitivity

  • Case-insensitive by default:
SELECT * FROM table_name WHERE column = 'TEXT';
  • Case-sensitive:
SELECT * FROM table_name WHERE BINARY column = 'TEXT';

Date/Time Functions

SELECT CURDATE();      -- Current Date
SELECT NOW();          -- Current Date and Time
SELECT CURTIME();      -- Current Time

Show All Tables

SHOW TABLES;