SQL Query to Select All If Parameter is Empty or NULL

In general, when you create a SQL stored procedure or any query that accepts parameters, you might force the User to provide a value for that parameter. It is not the case in real-time, so you have to allow NULL values and empty strings. Let us see how to write SQL Query to Select All If Parameter is Empty or NULL with example.

For this SQL select all if Parameter is empty or null demonstration, we use this data

SQL Query to Select All If Parameter is Empty or NULL 1

Generally, you may right query like below:

DECLARE @Occupation VARCHAR(50)
SET @Occupation = 'Clerical'
SELECT [EmpID]
      ,[FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,[Sales]
      ,[HireDate]
  FROM [Employee]
  WHERE Occupation = @Occupation
SQL Query to Select All If Parameter is Empty or NULL 2

If you miss to provide a valid Occupation value then it will return empty table.

TIP: In real-time, we use an SQL Stored Procedure to perform these kinds of operations. But to make the query easy, we have chosen a regular SQL Programming query

SQL Query to Select All If Parameter is Empty or NULL Examples

The following list of example will show you various ways to get the result

SQL Query to Select All If Parameter is NULL

In this example, we are using the SQL IIF Function along with SQL IS NULL to check whether the parameter value is NULL or not. If true, Occupation = Occupation; otherwise, Occupation = User-provided result.

DECLARE @Occupation VARCHAR(50)
SET @Occupation = 'Management'
SELECT [EmpID]
      ,[FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,[Sales]
      ,[HireDate]
  FROM [Employee]
  WHERE Occupation = IIF(@Occupation IS NULL, Occupation, @Occupation)
SQL Query to Select All If Parameter is Empty or NULL 3

Let me change the Parameter value to NULL

SQL Query to Select All If Parameter is Empty or NULL 4

If you try the Empty string, the above query returns an Empty Table

SQL Query to Select All If Parameter is Empty or NULL 5

SQL Query to Select All If Parameter is NULL Example 2

In this example, we are using the SQL CASE Statement along with IS NULL to check whether the parameter value is NULL or not.

DECLARE @Occupation VARCHAR(50)
SET @Occupation = 'Clerical'
SELECT [EmpID]
      ,[FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,[Sales]
      ,[HireDate]
  FROM [Employee]
  WHERE Occupation = CASE WHEN @Occupation IS NULL THEN Occupation ELSE @Occupation END
SQL Query to Select All If Parameter is Empty or NULL 6

Let me adjust the Parameter value to NULL

SQL Query to Select All If Parameter is Empty or NULL 7

The above query is returning Empty Table for Empty string

SQL Query to Select All If Parameter is Empty or NULL 8

SQL Query to Select All If Parameter is NULL Example 3

Here, we are using SQL OR Operator along with IS NULL inside our SQL WHERE Clause to check whether the parameter value is NULL or not.

DECLARE @Occupation VARCHAR(50)
SET @Occupation = 'Skilled Manual'
SELECT [EmpID]
      ,[FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,[Sales]
      ,[HireDate]
  FROM [Employee]
  WHERE Occupation = @Occupation OR
		@Occupation IS NULL
SQL Query to Select All If Parameter is Empty or NULL 9

You can see that the query is returning all records for the NULL value

SQL Query to Select All If Parameter is Empty or NULL 10

And it is returning empty table for the blank value

SQL Query to Select All If Parameter is Empty or NULL 11

SQL Query to Select All If Parameter is Empty or NULL

In this example, we used the IIF Function along with SQL ISNULL. First, the ISNULL function checks whether the parameter value is NULL or not. If True, it will replace the value with an empty string or Blank. Next, IIF will check whether the parameter is Blank or not. If true, Occupation = Occupation; otherwise, Occupation = User-provided result.

DECLARE @Occupation VARCHAR(50)
SET @Occupation = 'Management'
SELECT [EmpID]
      ,[FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,[Sales]
      ,[HireDate]
  FROM [Employee]
  WHERE Occupation = IIF(ISNULL(@Occupation, '') = '', Occupation, @Occupation)
SQL Query to Select All If Parameter is Empty or NULL 12

Let’s change the parameter value to NULL

SQL Query to Select All If Parameter is Empty or NULL 13

It is returning all the records in Employee table for Empty parameter value.

SQL Query to Select All If Parameter is Empty or NULL 14

SQL Query to Select All If Parameter is Empty or NULL Example 2

In this SQL example, we are using an OR Operator along with the ISNULL function.

DECLARE @Occupation VARCHAR(50)
SET @Occupation = 'Clerical'
SELECT [EmpID]
      ,[FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,[Sales]
      ,[HireDate]
  FROM [Employee]
  WHERE Occupation = @Occupation OR
 ISNULL(@Occupation, '') = ''
SQL Query to Select All If Parameter is Empty or NULL 15

Result for NULL Parameter

SQL Query to Select All If Parameter is Empty or NULL 16

Result for Empty string

SQL Query to Select All If Parameter is Empty or NULL 17

SQL Query to Select All If Parameter is NULL Example 3

Here, we are using the SQL IF-ELSE statement. If the parameter value is not null, we are using a SQL SELECT statement along with a WHERE clause; otherwise, no WHERE clause.

DECLARE @Occupation VARCHAR(50)
SET @Occupation = 'Professional'
IF ISNULL(@Occupation, '') <> ''
BEGIN
SELECT [EmpID]
      ,[FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,[Sales]
      ,[HireDate]
  FROM [SQL Tutorial].[dbo].[Employee]
  WHERE Occupation = @Occupation
END
ELSE
BEGIN
SELECT [EmpID]
      ,[FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,[Sales]
      ,[HireDate]
  FROM [Employee]
END
SQL Query to Select All If Parameter is Empty or NULL 18

Result for NULL parameter

SQL Query to Select All If Parameter is Empty or NULL 19

Empty string result

SQL Query to Select All If Parameter is NULL or Blank 20
Categories SQL