w3resource

SQL NON EQUI JOIN

NON EQUI JOIN

The SQL NON EQUI JOIN uses comparison operator instead of the equal sign like >, <, >=, <= along with conditions.

Syntax:

SELECT * 
FROM table_name1, table_name2 
WHERE table_name1.column [> |  < |  >= | <= ] table_name2.column;

Pictorial representation:

Sql right join image

Example:

Here is an example of non equi join in SQL between two tables

Sample table: orders


Sample table: customer


To get order number and order amount columns from orders table aliased as 'a' and customer name and working area columns from customer table aliased as 'b' after joining said two tables with the following condition -

1. order amount of orders table matches any of the opening amounts of customer table,

the following SQL statement can be used:

SQL Code:

SELECT a.ord_num,a.ord_amount,b.cust_name,b.working_area 
FROM orders a,customer b 
WHERE a.ord_amount 
BETWEEN b.opening_amt AND b.opening_amt;

Output:

  ORD_NUM ORD_AMOUNT CUST_NAME                                WORKING_AREA
--------- ---------- ---------------------------------------- -------------
   200110       3000 Micheal                                  New York
   200101       3000 Micheal                                  New York
   200108       4000 Cook                                     London
   200119       4000 Cook                                     London
   200113       4000 Cook                                     London
   200108       4000 Karl                                     London
   200119       4000 Karl                                     London
   200113       4000 Karl                                     London

Key points to remember

Click on the following to get the slides presentation -

SQL JOINS, slide presentation

See our Model Database

Here is a new document which is a collection of questions with short and simple answers, useful for learning SQL as well as for interviews.

Practice SQL Exercises

Want to improve the above article? Contribute your Notes/Comments/Examples through Disqus.

Previous: SQL EQUI JOIN
Next: SQL INNER JOIN



SQL: Interview question/Tips of the Day

First Normal Forms

  • Eliminate repeating groups in individual tables.
  • Create a separate table for each set of related data.
  • Identify each set of related data with a primary key.

Do not use multiple fields in a single table to store similar data. For example, to track an inventory item that may come from two possible sources, an inventory record may contain fields for Vendor Code 1 and Vendor Code 2. Also, what happens when you add a third vendor? Adding a field is not the answer; it requires program and table modifications and does not smoothly accommodate a dynamic number of vendors. Instead, place all vendor information in a separate table called Vendors, then link inventory to vendors with an item number key, or vendors to inventory with a vendor code key.