PL/SQL NOT EQUAL Operator
Last Updated :
11 Sep, 2024
In PL/SQL, the NOT EQUAL operator is used to compare two values and determine if they are not equal. If the values are different, the result of the comparison is true; otherwise, it is false.
This operator is often used in conditional statements and queries to filter data based on inequality. In this article, We will learn about PL/SQL NOT EQUAL Operator with the help of various examples and so on.
What is PL/SQL NOT EQUAL Operator?
The NOT EQUAL operator in PL/SQL is represented by != or <>. It is used to check if two expressions or values are not equal to each other.
This operator can be used in WHERE clauses, IF statements, and other conditional expressions.
Syntax:
Using != Operator:
expression1 != expression2
Using <> Operator:
expression1 <> expression2
Explanation:
- expression1: The first value or column to compare.
- expression2: The second value or column to compare.
- != or <>: The NOT EQUAL operator that performs the comparison.
Examples of PL/SQL NOT EQUAL Operator
We create two tables, employees
and departments
, to demonstrate the use of the NOT EQUAL operator. The employees
table stores employee details, while the departments
table holds department information.
1. Employees Table
The employees
table is set up with emp_id
, emp_name
, and dept_id
, while the departments
table includes dept_id
and dept_name
. We insert sample data into both tables for demonstration purposes.
Query:
-- Create `employees` table
CREATE TABLE employees (
emp_id NUMBER PRIMARY KEY,
emp_name VARCHAR2(50),
dept_id NUMBER
);
-- Insert data into `employees`
INSERT INTO employees (emp_id, emp_name, dept_id) VALUES (1, 'John Doe', 101);
INSERT INTO employees (emp_id, emp_name, dept_id) VALUES (2, 'Jane Smith', 102);
INSERT INTO employees (emp_id, emp_name, dept_id) VALUES (3, 'Emily Davis', 103);
Output:
emp_id | emp_name | dept_id |
---|
1 | John Doe | 101 |
2 | Jane Smith | 102 |
3 | Emily Davis | 103 |
Explanation:
- The
CREATE TABLE
statement defines the employees
table with columns for employee ID, name, and department ID.
- The
INSERT INTO
statements add three records to this table: John Doe in department 101, Jane Smith in department 102, and Emily Davis in department 103.
- This setup creates a basic structure for storing employee details and their departmental affiliations.
2. Department Table
The CREATE TABLE
statement establishes the departments
table with two columns: dept_id
(the unique identifier for each department) and dept_name
(the name of the department).
The INSERT INTO
statements add three records to the table, specifying department IDs and their corresponding names: HR (101), Finance (102), and IT (104).
Query:
-- Create `departments` table
CREATE TABLE departments (
dept_id NUMBER PRIMARY KEY,
dept_name VARCHAR2(50) );
-- Insert data into `departments`
INSERT INTO departments (dept_id, dept_name) VALUES (101, 'HR');
INSERT INTO departments (dept_id, dept_name) VALUES (102, 'Finance');
INSERT INTO departments (dept_id, dept_name) VALUES (104, 'IT');
Output:
dept_id | dept_name |
---|
101 | HR |
102 | Finance |
104 | IT |
Explanation:
The above department table is the output of the above query displaying the department information .This table represents the department information with unique IDs and names, capturing the organizational structure relevant to the employees' departmental affiliations.
Example 1: Basic Comparison
This SQL query retrieves the names of employees whose department ID is not equal to 101. It uses the != operator in the WHERE clause to filter out employees from department 101 and return only those who belong to other departments.
Query:
SELECT emp_name
FROM employees
WHERE dept_id != 101;
Output:
emp_name |
---|
Jane Smith |
Emily Davis |
Explanation:
The output includes names of employees with dept_id
values other than 101, excluding those with dept_id
equal to 101.
- Includes: Names of employees with dept_id values other than 101.
- Excludes: Employees with dept_id equal to 101.
Example 2: Using <> in a Join
This SQL query performs a join between the employees and departments tables using a condition that filters out rows where the dept_id values do not match. The join is based on e.dept_id <> d.dept_id, meaning it will include rows where the department IDs are different.
Query:
SELECT e.emp_name, d.dept_name
FROM employees e
JOIN departments d ON e.dept_id <> d.dept_id;
Output:
emp_name | dept_name |
---|
John Doe | Finance |
John Doe | IT |
Jane Smith | HR |
Jane Smith | IT |
Emily Davis | HR |
Emily Davis | Finance |
Emily Davis | IT |
Explanation:
- Includes: Pairs of employee names and department names where the dept_id values do not match between the two tables.
- Excludes: Pairs where the dept_id values are the same.
Example 3: Conditional Logic in PL/SQL Block
This SQL query uses a CASE statement to check if the name of the employee with emp_id = 2 is 'Jane Smith'. If it is not 'Jane Smith', the query returns 'Employee name is not Jane Smith'; otherwise, it returns 'Employee name is Jane Smith'.
Query:
SELECT
CASE
WHEN (SELECT emp_name FROM employees WHERE emp_id = 2) != 'Jane Smith'
THEN 'Employee name is not Jane Smith'
ELSE 'Employee name is Jane Smith'
END AS result;
Output:
result |
---|
Employees name is Jane Smith |
Explanation:
- If the employee's name is 'Jane Smith': Employee name is Jane Smith.
- If the employee's name is not 'Jane Smith': Employee name is not Jane Smith.
Example 4: Filtering Rows in a Subquery
This SQL query retrieves the names of employees who work in departments that are not named 'IT'. The inner query selects dept_id values from the departments table where the department name is not 'IT'.
The outer query then uses these department IDs to filter employees from the employees table.
Query:
SELECT emp_name
FROM employees
WHERE dept_id IN (SELECT dept_id FROM departments WHERE dept_name <> 'IT');
Output:
emp_name |
---|
John Doe |
Jane Smith |
Explanation:
- Includes: Names of employees whose department ID is associated with departments that do not have the name 'IT'.
- Excludes: Employees who work in the 'IT' department.
Conclusion
The NOT EQUAL operator (!=
or <>
) in PL/SQL is essential for filtering and comparing data where values are not equal. It is versatile for use in queries and conditional statements to manage data based on inequality.
Similar Reads
SQL NOT EQUAL Operator The SQL NOT EQUAL operator is a comparison operator used to check if two expressions are not equal to each other. It helps filter out records that match certain conditions, making it a valuable tool in SQL queries.In this article, We will explore the SQL NOT EQUAL operator, including its syntax, use
4 min read
PL/SQL NOT Operator PL/SQL, an extension of SQL in Oracle, offers various operators that allow us to perform logical operations on data. One such operator is the NOT operator, which is used to negate a condition, meaning it will return true if the condition is false and vice versa.The NOT operator is commonly used in c
6 min read
PL/SQL ALL, ANY Operator The ALL and ANY operators in PL/SQL are powerful tools used to compare a given value against a set of values returned by a subquery. These operators allow for more dynamic and flexible queries by evaluating conditions against multiple results. The ALL operator checks if a condition holds true for ev
4 min read
PL/SQL AND Operator The PL/SQL AND operator is used to combine multiple conditions in a WHERE clause of an SQL query. It allows you to refine your query by ensuring that all specified conditions are met. AND queries which help in filtering data more precisely and can be crucial for retrieving accurate results from a da
7 min read
Python NOT EQUAL operator In this article, we are going to see != (Not equal) operators. In Python, != is defined as not equal to operator. It returns True if operands on either side are not equal to each other, and returns False if they are equal. Python NOT EQUAL operators SyntaxThe Operator not equal in the Python descrip
3 min read
PL/SQL IN Operator The PL/SQL IN operator is a powerful tool used in SQL queries to check if a value matches any value in a list or a subquery result. It simplifies querying multiple values and can make your SQL code cleaner and more readable. The IN operator is typically used in the WHERE clause to filter results bas
6 min read
SQL NOT Operator The 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 NOT IN Operator The NOT IN operator in SQL is used to exclude a specified set of values in a query, making code more readable and efficient. It is often combined with SELECT, UPDATE, and DELETE statements to filter out rows that match any value in a given list. This operator is a more intuitive alternative to using
4 min read
PL/SQL EXISTS Operator The EXISTS operator in PL/SQL is a powerful tool used to check the existence of records in a subquery. Unlike traditional comparison operators that evaluate data values, EXISTS focuses on whether a set of conditions returns any rows. It is commonly used to determine the presence or absence of record
6 min read
PL/SQL IS NULL Operator The IS NULL operator is a fundamental tool in PL/SQL used to determine the presence of NULL values in database columns. Understanding how to effectively use the IS NULL operator is crucial for database management, as it allows developers and analysts to identify and handle records with missing or un
4 min read