Database Management System (DBMS) / SQL(STRUCTURED QUERY LANGUAGE)

Sorting in SQL using ORDER BY

The ORDER BY clause is used to sort query results in ascending or descending order based on one or more columns.


⚙️ Code block to be used further

CREATE TABLE students (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT NOT NULL,
    grade VARCHAR(2)
);

-- 3. Insert sample data
INSERT INTO students (name, age, grade) VALUES
('Anya', 17, 'A'),
('Raj', 19, 'B'),
('Sara', 18, 'A'),
('Ravi', 20, 'C'),
('Tina', 16, 'B');
SELECT column1, column2
FROM students
ORDER BY column1 [ASC|DESC];

⬆️ ASC – Ascending Order (Default)

SELECT * FROM students ORDER BY name ASC;
  • Sorts names from A to Z


⬇️ DESC – Descending Order

SELECT * FROM students ORDER BY id DESC;
  • Sorts IDs from highest to lowest


🔄 Sorting by Multiple Columns

SELECT * FROM students
ORDER BY grade ASC, name DESC;
  • First sorts by grade (A to Z)

  • Then sorts by name (Z to A) within each grade


🔁 Use with SELECT, WHERE

You can combine ORDER BY with filters:

SELECT name, grade FROM students
WHERE grade IN ('A', 'B')
ORDER BY grade DESC;
  • Shows only A and B grades, in descending order


✅ Summary Table

Keyword

Meaning

ORDER BY

Sorts result rows

ASC

Ascending order (A–Z, 0–9)

DESC

Descending order (Z–A, 9–0)

Multiple Columns

Sorts by priority left to right