REW

How Do You Select Greater Than In SQL?

Published Aug 29, 2025 4 min read
On this page

To select rows with a value greater than a specific amount in SQL, you use the greater than ( >) comparison operator within the WHERE clause. This fundamental technique filters your result set to include only the records that meet your specified condition, making it a cornerstone of data retrieval.

Basic syntax and usage

The most common way to use the greater than operator is in a SELECT statement, where it filters rows based on a comparison in the WHERE clause.

Basic syntax

SELECT column1, column2, ...
FROM table_name
WHERE column_name > value;

Use code with caution.

  • SELECT column1, column2, ...: Specifies the columns to retrieve. Use SELECT * to select all columns.
  • FROM table_name: Specifies the table you are querying.
  • WHERE column_name > value: Filters the rows. Only rows where column_name's value is strictly greater than value are returned.

Example: Selecting employees with a salary greater than 50,000Consider an employees table with a salary column.

SELECT *
FROM employees
WHERE salary > 50000;

Use code with caution.

This query returns all columns (*) for every employee whose salary is over 50,000.

Greater than or equal to (>=)

In many cases, you may need to include the specified value in your result set. For this, you use the greater than or equal to (>=) operator.

Example: Selecting products with a price of $100 or moreFor a products table with a price column, you can retrieve products priced at $100 or higher with the following query:

SELECT product_name, price
FROM products
WHERE price >= 100.00;

Use code with caution.

Applying the greater than operator to different data types

Numeric values

The most straightforward use of the > operator is with numerical data types like INT, DECIMAL, and FLOAT.Example: Finding high-value transactions

SELECT transaction_id, transaction_amount
FROM sales
WHERE transaction_amount > 1000.00;

Use code with caution.

This query retrieves all sales records where the transaction amount exceeds 1,000.

Date and time values

The > operator can also be used effectively with DATE, DATETIME, and TIMESTAMP data types to find records newer than a specific point in time.Example: Retrieving orders placed after a specific date

SELECT order_id, order_date
FROM orders
WHERE order_date > '2025-01-01';

Use code with caution.

This returns all orders with an order_date after January 1, 2025.Note: The date format is crucial. Most SQL dialects accept 'YYYY-MM-DD', but it is important to check your specific database's requirements.

Text (string) values

When used on text columns, the > operator performs a lexical (alphabetical) comparison. This can be useful for selecting records based on a starting letter or for sorting purposes.Example: Selecting customer names starting after 'M'

SELECT customer_name
FROM customers
WHERE customer_name > 'M';

Use code with caution.

This query retrieves all customers whose name begins with 'N', 'O', 'P', and so on. The exact behavior can be influenced by the database's character set and collation settings, which determine case sensitivity and sorting order.

Combining greater than with other conditions

The > operator is frequently combined with other logical operators (AND, OR) to create more complex and precise filtering conditions.

Using AND for multiple conditionsTo filter results that meet several criteria simultaneously, use the AND operator.Example: Finding employees in a specific department with a high salary

SELECT employee_name, salary
FROM employees
WHERE department = 'Sales' AND salary > 75000;

Use code with caution.

This query retrieves the names and salaries of employees who work in the 'Sales' department and have a salary greater than 75,000.

Using OR for alternative conditionsTo retrieve records that meet at least one of several conditions, use the OR operator.Example: Finding customers with high credit limits or from a specific city

SELECT customer_name, credit_limit
FROM customers
WHERE credit_limit > 5000 OR city = 'New York';

Use code with caution.

This query returns customers with a credit limit over 5,000 or customers who are located in New York.

Using HAVING with aggregate functions

While the WHERE clause filters individual rows before they are grouped, the HAVING clause filters groups of rows based on conditions applied to aggregate functions (COUNT, SUM, AVG, etc.).Example: Finding departments with more than 10 employees

SELECT department, COUNT(employee_id) AS number_of_employees
FROM employees
GROUP BY department
HAVING COUNT(employee_id) > 10;

Use code with caution.

This query first groups employees by department, then filters for only those groups (departments) that have more than 10 employees.

Common pitfalls and best practices

  • Data type compatibility: Ensure the data types on both sides of the > operator are compatible. Comparing a number column to a text string may lead to unexpected results or errors.
  • Performance considerations: For large tables, using the > operator on an unindexed column can be slow. Creating an index on columns used in WHERE clauses can significantly improve query performance.
  • Handling NULL values: The > operator does not evaluate to TRUE for NULL values. If you need to include or exclude NULL records, use the IS NULL or IS NOT NULL condition explicitly.
  • Exact vs. inclusive: Remember that > is strictly greater than, while >= includes the value in the comparison. Choosing the correct operator is crucial for accurate results.
Enjoyed this article? Share it with a friend.