The SQL DISTINCT keyword is used in queries to retrieve unique values from a database. It helps in eliminating duplicate records from the result set. It ensures that only unique entries are fetched. Whether you're analyzing datasets or performing data cleaning, the DISTINCT keyword is Important for ensuring data integrity and precision.
In this article, we will learn the DISTINCT keyword, its syntax, practical examples, and common use cases. We'll also discuss how it works with various SQL functions like COUNT() and how it handles NULL values.
What is the SQL DISTINCT Keyword?
The distinct keyword is used in conjunction with the select keyword. It is helpful when there is a need to avoid duplicate values present in any specific columns/table. When we use distinct keywords only the unique values are fetched.
Syntax:
SELECT DISTINCT column1, column2
FROM table_name
Parameters Used:
- column1, column2: Names of the fields of the table.
- Table_name: Table from where we want to fetch the records.
This query will return all the unique combinations of rows in the table with fields column1, and column2.
NOTE: If a distinct keyword is used with multiple columns, the distinct combination is displayed in the result set.
Examples of DISTINCT in SQL
There is a Table in SQL with names of students with Rollno, Name, Address, Phone and Age. We will see some examples of using the DISTINCT keyword with a sample students table.
Query:
CREATE TABLE students (
ROLL_NO INT,
NAME VARCHAR(50),
ADDRESS VARCHAR(100),
PHONE VARCHAR(20),
AGE INT
);
INSERT INTO students (ROLL_NO, NAME, ADDRESS, PHONE, AGE)
VALUES
(1, 'Shubham Kumar', '123 Main Street, Bangalore', '9876543210', 23),
(2, 'Shreya Gupta', '456 Park Road, Mumbai', '9876543211', 23),
(3, 'Naveen Singh', '789 Market Lane, Delhi', '9876543212', 26),
(4, 'Aman Chopra', '246 Forest Avenue, Kolkata', '9876543213', 22),
(5, 'Aditya Patel', '7898 Ocean Drive, Chennai', '9876543214', 27),
(6, 'Avdeep Desai', '34 River View, Hyderabad', '9876543215', 24),
(7, 'Shubham Kumar', '123 Main Street, Bangalore', '9876543210', 23), -- Duplicate
(8, 'Shreya Gupta', '456 Park Road, Mumbai', '9876543211', 23), -- Duplicate
(9, 'Naveen Singh', '789 Market Lane, Delhi', '9876543212', 26), -- Duplicate
(10, 'Aditya Patel', '7898 Ocean Drive, Chennai', '9876543214', 27), -- Duplicate
(11, 'Aman Chopra', '246 Forest Avenue, Kolkata', '9876543213', 22), -- Duplicate
(12, 'Avdeep Desai', '34 River View, Hyderabad', '9876543215', 24); -- Duplicate
Output:
ROLL_NO | NAME | ADDRESS | PHONE | AGE |
---|
1 | Shubham Kumar | 123 Main Street, Bangalore | 9876543210 | 23 |
2 | Shreya Gupta | 456 Park Road, Mumbai | 9876543211 | 23 |
3 | Naveen Singh | 789 Market Lane, Delhi | 9876543212 | 26 |
4 | Aman Chopra | 246 Forest Avenue, Kolkata | 9876543213 | 22 |
5 | Aditya Patel | 7898 Ocean Drive, Chennai | 9876543214 | 27 |
6 | Avdeep Desai | 34 River View, Hyderabad | 9876543215 | 24 |
7 | Shubham Kumar | 123 Main Street, Bangalore | 9876543210 | 23 |
8 | Shreya Gupta | 456 Park Road, Mumbai | 9876543211 | 23 |
9 | Naveen Singh | 789 Market Lane, Delhi | 9876543212 | 26 |
10 | Aditya Patel | 7898 Ocean Drive, Chennai | 9876543214 | 27 |
11 | Aman Chopra | 246 Forest Avenue, Kolkata | 9876543213 | 22 |
12 | Avdeep Desai | 34 River View, Hyderabad | 9876543215 | 24 |
Example 1: Fetch Unique Names from the NAME Field.
Query:
SELECT DISTINCT NAME FROM students;
Output:
outputThe query returns only unique names, eliminating the duplicate entries from the table.
Example 2: Fetching Unique Combinations of Multiple Columns
If you want to retrieve unique combinations of NAME and AGE
Query:
SELECT DISTINCT NAME, AGE FROM students;
Output:
NAME | AGE |
---|
Shubham Kumar | 23 |
Shreya Gupta | 23 |
Naveen Singh | 26 |
Aman Chopra | 22 |
Aditya Patel | 27 |
Avdeep Desai | 24 |
This query retrieves distinct combinations of NAME and AGE — if two rows have the same name and age, only one of them will appear in the result set.
Example 3: Using DISTINCT with the ORDER BY Clause
We can combine the DISTINCT keyword with the ORDER BY clause to filter unique values while sorting the result set.
Query:
SELECT DISTINCT AGE FROM students ORDER BY AGE;
Output:
This query retrieves the unique ages from the students table and sorts them in ascending order.
Example 4: Using DISTINCT with Aggregate Functions (e.g., COUNT())
Here, we will check the COUNT() function with a DISTINCT clause, which will give the total number of students by using the COUNT() function.
Query:
SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;
Output:
How the DISTINCT Clause Handles NULL Values?
In SQL, the DISTINCT keyword treats NULL as a unique value. If NULL appears in a column, it will be counted as a distinct value.
Query:
INSERT INTO students (ROLL_NO, NAME, ADDRESS, PHONE, AGE)
VALUES (13, 'John Doe', '123 Unknown Street', '9876543216', NULL);
SELECT DISTINCT AGE FROM students;
Output:
Conclusion
The SQL DISTINCT keyword is an essential tool for removing duplicates and fetching unique data from your tables. It can be used with a single column or multiple columns and works seamlessly with other SQL clauses like ORDER BY and aggregate functions such as COUNT(). By understanding how to use DISTINCT, you can improve your queries and ensure that your results are clean, accurate, and free of redundancies.
Similar Reads
SQL for Data Science Mastering SQL (Structured Query Language) has become a fundamental skill for anyone pursuing a career in data science. As data plays an increasingly central role in business and technology, SQL has emerged as the most essential tool for managing and analyzing large datasets. Data scientists rely on
7 min read
Introduction to SQL
What is SQL?SQL stands for Structured Query Language. It is a standardized programming language used to manage and manipulate relational databases. It enables users to perform a variety of tasks such as querying data, creating and modifying database structures, and managing access permissions. SQL is widely use
10 min read
Difference Between RDBMS and DBMSDatabase Management System (DBMS) is a software that is used to define, create, and maintain a database and provides controlled access to the data. Why is DBMS Required?Database management system, as the name suggests, is a management system that is used to manage the entire flow of data, i.e, the i
4 min read
Difference between SQL and NoSQLChoosing between SQL (Structured Query Language) and NoSQL (Not Only SQL) databases is a critical decision for developers, data engineers, and organizations looking to handle large datasets effectively. Both database types have their strengths and weaknesses, and understanding the key differences ca
6 min read
SQL Data TypesSQL Data Types are very important in relational databases. It ensures that data is stored efficiently and accurately. Data types define the type of value a column can hold, such as numbers, text, or dates. Understanding SQL Data Types is critical for database administrators, developers, and data ana
5 min read
SQL | DDL, DML, TCL and DCLData Definition Language (DDL), Data Manipulation Language (DML), Transaction Control Language (TCL), and Data Control Language (DCL) form the backbone of SQL. Each of these languages plays a critical role in defining, managing, and controlling data within a database system, ensuring both structural
6 min read
Setting Up the Environment
SQL Basics
Relational Model in DBMSThe Relational Model represents data and their relationships through a collection of tables. Each table also known as a relation consists of rows and columns. Every column has a unique name and corresponds to a specific attribute, while each row contains a set of related data values representing a r
11 min read
SQL SELECT QueryThe select query in SQL is one of the most commonly used SQL commands to retrieve data from a database. With the select command in SQL, users can access data and retrieve specific records based on various conditions, making it an essential tool for managing and analyzing data. In this article, weâll
4 min read
SQL Data TypesSQL Data Types are very important in relational databases. It ensures that data is stored efficiently and accurately. Data types define the type of value a column can hold, such as numbers, text, or dates. Understanding SQL Data Types is critical for database administrators, developers, and data ana
5 min read
SQL | WITH ClauseSQL queries can sometimes be complex, especially when you need to deal with multiple nested subqueries, aggregations, and joins. This is where the SQL WITH clause also known as Common Table Expressions (CTEs) comes in to make life easier. The WITH Clause is a powerful tool that simplifies complex SQ
6 min read
SQL | GROUP BYThe SQL GROUP BY clause is a powerful tool used to organize data into groups based on shared values in one or more columns. It's most often used with aggregate functions like SUM, COUNT, AVG, MIN, and MAX to perform summary operations on each group helping us extract meaningful insights from large d
5 min read
PHP | MySQL LIMIT ClauseIn MySQL the LIMIT clause is used with the SELECT statement to restrict the number of rows in the result set. The Limit Clause accepts one or two arguments which are offset and count.The value of both the parameters can be zero or positive integers. Offset:It is used to specify the offset of the fir
3 min read
SQL LIMIT ClauseThe LIMIT clause in SQL is used to control the number of rows returned in a query result. It is particularly useful when working with large datasets, allowing us to retrieve only the required number of rows for analysis or display. Whether we're looking to paginate results, find top records, or just
5 min read
SQL Distinct ClauseThe SQL DISTINCT keyword is used in queries to retrieve unique values from a database. It helps in eliminating duplicate records from the result set. It ensures that only unique entries are fetched. Whether you're analyzing datasets or performing data cleaning, the DISTINCT keyword is Important for
4 min read
SQL Operators
SQL Comparison OperatorsSQL Comparison Operators are used to compare two values and check if they meet the specific criteria. Some comparison operators are = Equal to, > Greater than , < Less than, etc. Comparison Operators in SQLThe below table shows all comparison operators in SQL : OperatorDescription=The SQL Equa
3 min read
SQL - Logical OperatorsSQL Logical Operators are essential tools used to test the truth of conditions in SQL queries. They return boolean values such as TRUE, FALSE, or UNKNOWN, making them invaluable for filtering, retrieving, or manipulating data. These operators allow developers to build complex queries by combining, n
9 min read
SQL | Arithmetic OperatorsPrerequisite: Basic Select statement, Insert into clause, Sql Create Clause, SQL Aliases We can use various Arithmetic Operators on the data stored in the tables. Arithmetic Operators are: + [Addition] - [Subtraction] / [Division] * [Multiplication] % [Modulus] Addition (+) : It is used to perform a
5 min read
SQL | String functionsSQL String Functions are powerful tools that allow us to manipulate, format, and extract specific parts of text data in our database. These functions are essential for tasks like cleaning up data, comparing strings, and combining text fields. Whether we're working with names, addresses, or any form
7 min read
SQL Wildcard CharactersSQL wildcard characters are powerful tools that enable advanced pattern matching in string data. They are especially useful when working with the LIKE and NOT LIKE operators, allowing for efficient searches based on partial matches or specific patterns. By using SQL wildcard characters, we can great
6 min read
SQL AND and OR OperatorsThe SQL AND and OR operators are used to filter data based on multiple conditions. These logical operators allow users to retrieve precise results from a database by combining various conditions in SELECT, INSERT, UPDATE, and DELETE statements.In this article, we'll learn the AND and OR operators, d
3 min read
SQL | Concatenation OperatorThe SQL concatenation operator (||) is a powerful feature that allows us to merge two or more strings into a single output. It is widely used to link columns, character strings, and literals in SQL queries. This operator makes it easier to format and present data in a user-friendly way, combining mu
3 min read
SQL | MINUS OperatorThe Minus Operator in SQL is used with two SELECT statements. The MINUS operator is used to subtract the result set obtained by first SELECT query from the result set obtained by second SELECT query. In simple words, we can say that MINUS operator will return only those rows which are unique in only
2 min read
SQL | DIVISIONDivision in SQL is typically required when you want to find out entities that are interacting with all entities of a set of different types of entities. The division operator is used when we have to evaluate queries that contain the keyword 'all'. When to Use the Division OperatorYou typically requi
4 min read
SQL NOT OperatorThe SQL NOT Operator is a logical operator used to negate or reverse the result of a condition in SQL queries. It is commonly used with the WHERE clause to filter records that do not meet a specified condition, helping you exclude certain values from your results.In this article, we will learn every
3 min read
SQL | BETWEEN & IN OperatorIn SQL, the BETWEEN and IN operators are widely used for filtering data based on specific criteria. The BETWEEN operator helps filter results within a specified range of values, such as numbers, dates, or text, while the IN operator filters results based on a specific list of values. Both operators
5 min read
Working with Data
SQL | WHERE ClauseThe SQL WHERE clause allows to filtering of records in queries. Whether you're retrieving data, updating records, or deleting entries from a database, the WHERE clause plays an important role in defining which rows will be affected by the query. Without it, SQL queries would return all rows in a tab
4 min read
SQL ORDER BYThe ORDER BY clause in SQL is a powerful feature used to sort query results in either ascending or descending order based on one or more columns. Whether you're presenting data to users or analyzing large datasets, sorting the results in a structured way is essential. In this article, weâll explain
5 min read
SQL INSERT INTO StatementThe SQL INSERT INTO statement is one of the most commonly used commands for adding new data into a table in a database. Whether you're working with customer data, products, or user details, mastering this command is crucial for efficient database management. Letâs break down how this command works,
6 min read
SQL UPDATE StatementIn SQL, the UPDATE statement is used to modify existing records in a table. Whether you are updating a single record or multiple records at once, SQL provides the necessary functionality to make these changes. Whether you are working with a small dataset or handling large-scale databases, the UPDATE
6 min read
SQL DELETE StatementThe SQL DELETE statement is one of the most commonly used commands in SQL (Structured Query Language). It allows you to remove one or more rows from the table depending on the situation. Unlike the DROP statement, which removes the entire table, the DELETE statement removes data (rows) from the tabl
4 min read
SQL Data TypesSQL Data Types are very important in relational databases. It ensures that data is stored efficiently and accurately. Data types define the type of value a column can hold, such as numbers, text, or dates. Understanding SQL Data Types is critical for database administrators, developers, and data ana
5 min read
ALTER (RENAME) in SQLIn SQL, making structural changes to a database is often necessary. Whether it's renaming a table or a column, adding new columns, or modifying data types, the SQL ALTER TABLE command plays a critical role. This command provides flexibility to manage and adjust database schemas without affecting the
5 min read
SQL ALTER TABLEThe SQL ALTER TABLE statement is a powerful tool that allows you to modify the structure of an existing table in a database. Whether you're adding new columns, modifying existing ones, deleting columns, or renaming them, the ALTER TABLE statement enables you to make changes without losing the data s
5 min read
SQL Queries
SQL | SubqueryIn SQL, subqueries are one of the most powerful and flexible tools for writing efficient queries. A subquery is essentially a query nested within another query, allowing users to perform operations that depend on the results of another query. This makes it invaluable for tasks such as filtering, cal
6 min read
Nested Queries in SQLNested queries, also known as subqueries, are an essential tool in SQL for performing complex data retrieval tasks. They allow us to embed one query within another, enabling us to filter, aggregate, and perform sophisticated calculations. Whether we're handling large datasets or performing advanced
7 min read
Joining Three or More Tables in SQLSQL joins are an essential part of relational database management, allowing users to combine data from multiple tables efficiently. When the required data is spread across different tables, joining these tables efficiently is necessary.In this article, weâll cover everything we need to know about jo
5 min read
Inner Join vs Outer JoinInner Join and Outer Join are the types of join. The inner join has the work to return the common rows between the two tables, whereas the Outer Join has the work of returning the work of the inner join in addition to the rows that are not matched. Let's discuss both of them in detail in this articl
9 min read
SQL | Join (Cartesian Join & Self Join)In SQL, CARTESIAN JOIN (also known as CROSS JOIN) and SELF JOIN are two distinct types of joins that help combine rows from one or more tables based on certain conditions. While both joins may seem similar, they serve different purposes. Letâs explore both in detail.CARTESIAN JOINA Cartesian Join or
4 min read
How to Get the Names of the Table in SQLRetrieving table names in SQL is a common task that aids in effective database management and exploration. Whether we are dealing with a single database or multiple databases, knowing how to retrieve table names helps streamline operations. SQL provides the INFORMATION_SCHEMA.TABLES view, which offe
3 min read
SQL | SubqueryIn SQL, subqueries are one of the most powerful and flexible tools for writing efficient queries. A subquery is essentially a query nested within another query, allowing users to perform operations that depend on the results of another query. This makes it invaluable for tasks such as filtering, cal
6 min read
How to Fetch Duplicate Rows in a Table?Identifying duplicate rows in a database table is a common requirement, especially when dealing with large datasets. Duplicates can arise due to data entry errors, system migrations, or batch processing issues. In this article, we will explain efficient SQL techniques to identify and retrieve duplic
3 min read
Data Manipulation
SQL Joins (Inner, Left, Right and Full Join)SQL joins are fundamental tools for combining data from multiple tables in relational databases. Joins allow efficient data retrieval, which is essential for generating meaningful observations and solving complex business queries. Understanding SQL join types, such as INNER JOIN, LEFT JOIN, RIGHT JO
6 min read
SQL Inner JoinSQL INNER JOIN is a powerful and frequently used operation in relational databases. It allows us to combine two or more tables based on a related column, returning only the records that satisfy the join conditionThis article will explore the fundamentals of INNER JOIN, its syntax, practical examples
4 min read
SQL Outer JoinSQL Outer Joins allow retrieval of rows from two or more tables based on a related column. Unlike inner Joins, they also include rows that do not have a corresponding match in one or both of the tables. This capability makes Outer Joins extremely useful for comprehensive data analysis and reporting,
4 min read
SQL Self JoinA Self Join in SQL is a powerful technique that allows one to join a table with itself. This operation is helpful when you need to compare rows within the same table based on specific conditions. A Self Join is often used in scenarios where there is hierarchical or relational data within the same ta
4 min read
How to Group and Aggregate Data Using SQL?In SQL, grouping and aggregating data are essential techniques for analyzing datasets. When dealing with large volumes of data, we often need to summarize or categorize it into meaningful groups. The combination of the GROUP BY clause and aggregate functions like COUNT(), SUM(), AVG(), MIN(), and MA
4 min read
SQL HAVING Clause with ExamplesThe HAVING clause in SQL is used to filter query results based on aggregate functions. Unlike the WHERE clause, which filters individual rows before grouping, the HAVING clause filters groups of data after aggregation. It is commonly used with functions like SUM(), AVG(), COUNT(), MAX(), and MIN().I
4 min read
Data Analysis
CTE in SQLIn SQL, a Common Table Expression (CTE) is an essential tool for simplifying complex queries and making them more readable. By defining temporary result sets that can be referenced multiple times, a CTE in SQL allows developers to break down complicated logic into manageable parts. CTEs help with hi
6 min read
Window Functions in SQLSQL window functions are essential for advanced data analysis and database management. They enable calculations across a specific set of rows, known as a "window," while retaining the individual rows in the dataset. Unlike traditional aggregate functions that summarize data for the entire group, win
7 min read
Pivot and Unpivot in SQLIn SQL, PIVOT and UNPIVOT are powerful operations used to transform data and make it more readable, efficient, and manageable. These operations allow us to manipulate tables by switching between rows and columns, which can be crucial for summarizing data, reporting, and data analysis. Understanding
4 min read
Data Preprocessing in Data MiningData preprocessing is the process of preparing raw data for analysis by cleaning and transforming it into a usable format. In data mining it refers to preparing raw data for mining by performing tasks like cleaning, transforming, and organizing it into a format suitable for mining algorithms. Goal i
6 min read
SQL Functions (Aggregate and Scalar Functions)SQL Functions are built-in programs that are used to perform different operations on the database. There are two types of functions in SQL: Aggregate FunctionsScalar FunctionsSQL Aggregate FunctionsSQL Aggregate Functions operate on a data group and return a singular output. They are mostly used wit
4 min read
MySQL Date and Time FunctionsHandling date and time data in MySQL is essential for many database operations, especially when it comes to handling timestamps, scheduling tasks, or generating time-based. MySQL provides a variety of date and time functions that help users work with date values, perform calculations, and format the
6 min read
SQL | Date Functions (Set-1)SQL Date Functions are essential for managing and manipulating date and time values in SQL databases. They provide tools to perform operations such as calculating date differences, retrieving current dates and times and formatting dates. From tracking sales trends to calculating project deadlines, w
5 min read
SQL | Date Functions (Set-2)SQL Date Functions are powerful tools that allow users to manipulate, extract , and format date and time values within SQL databases. These functions simplify handling temporal data, making them indispensable for tasks like calculating intervals, extracting year or month values, and formatting dates
5 min read
SQL | Numeric FunctionsSQL Numeric Functions are essential tools for performing mathematical and arithmetic operations on numeric data. These functions allow you to manipulate numbers, perform calculations, and aggregate data for reporting and analysis purposes. Understanding how to use SQL numeric functions is important
3 min read
SQL Aggregate functionsSQL Aggregate Functions are used to perform calculations on a set of rows and return a single value. These functions are particularly useful when we need to summarize, analyze, or group large datasets in SQL databases. Whether you're working with sales data, employee records, or product inventories,
4 min read
Data Visualization