Learn to Code SQL Example – SQL | UNIQUE Constraint

(SQL Example for Citizen Data Scientist & Business Analyst)

 

SQL | UNIQUE Constraint

Unique constraint in SQL is used to check whether the sub query has duplicate tuples in it’s result. It returns a boolean value indicating the presence/absence of duplicate tuples. Unique construct returns true only if the sub query has no duplicate tuples, else it return false.

Important Points:

  • Evaluates to true on an empty sub query.
  • Returns true only if there are unique tuples present as the output of the sub query (two tuples are unique if the value of any attribute of the two tuples differ).
  • Returns true if the sub query has two duplicate rows with at least one attribute as NULL.

 

Syntax:

SELECT table.ID
FROM  table
WHERE UNIQUE (SELECT table2.ID
              FROM table2
              WHERE table.ID = table2.ID);

 

Note: During the execution, first the outer query is evaluated to obtain table.ID. Following this, the inner sub query is processed which produces a new relation that contains the output of inner query such that table.ID == table2.ID. If every row in the new relation is unique then unique returns true and the corresponding table.ID is added as a tuple in the output relation produced. However, if every row in the new relation is not unique then unique evaluates to false and the corresponding table.ID is not add to the output relation.

Note: The SQL statement without UNIQUE clause can also be written as:

SELECT table.ID
FROM  table
WHERE 1 <= (SELECT count(table2.ID)
              FROM table2
              WHERE table.ID = table2.ID);

Queries

Example 1: Find all the instructors that taught at most one course in the year 2017.
Instructor relation:

EMPLOYEEID NAME COURSEID YEAR
77505 Alan SC110 2017
77815 Will CSE774 2017
85019 Smith EE457 2017
92701 Sam PYS504 2017
60215 Harold HSS103 2016
77505 Alan BIO775 2017
92701 Sam ECO980 2017
    SQL Query:
SELECT I.EMPLOYEEID, I.NAME
FROM Instructor as I
WHERE UNIQUE (SELECT Inst.EMPLOYEEID
              FROM Instructor as Inst
              WHERE I.EMPLOYEEID = Inst.EMPLOYEEID
                          and Inst.YEAR = 2017);

Output:

EMPLOYEEID NAME
77815 Will
85019 Smith

Explanation: In the Instructor relation, only instructors Will and Smith teach a single course during the year 2017. The sub query corresponding to these instructors contains only a single tuple and therefore the unique clause corresponding to these instructors evaluates to true thereby producing these two instructors in the output relation.


Example 2: Find all the courses in Computer Science department that has only a single instructor allotted to that course.
Course relation:

COURSEID NAME DEPARTMENT INSTRUCTORID
CSE505 Computer Network Computer Science 11071
CSE245 Operating System Computer Science 74505
CSE101 Programming Computer Science 12715
HSS505 Psychology Social Science 85017
EE475 Signals & Systems Electrical 22150
CSE314 DBMS Computer Science 44704
CSE505 Computer Network Computer Science 11747
CSE314 DBMS Computer Science 44715
    SQL Query:
SELECT C.COURSEID, C.NAME
FROM Course as C
WHERE UNIQUE (SELECT T.INSTRUCTORID
              FROM Course as T
              WHERE T.COURSEID = C.COURSEID 
                          and C.DEPARTMENT = 'Computer Science');

Output:

COURSEID NAME
CSE245 Operating System
CSE101 Programming

 

MySQL Tutorials for Business Analyst: How to use Sub-Queries in MySQL

 

Learn to Code SQL Example – SQL | UNIQUE Constraint

Personal Career & Learning Guide for Data Analyst, Data Engineer and Data Scientist

Applied Machine Learning & Data Science Projects and Coding Recipes for Beginners

A list of FREE programming examples together with eTutorials & eBooks @ SETScholars

95% Discount on “Projects & Recipes, tutorials, ebooks”

Projects and Coding Recipes, eTutorials and eBooks: The best All-in-One resources for Data Analyst, Data Scientist, Machine Learning Engineer and Software Developer

Topics included: Classification, Clustering, Regression, Forecasting, Algorithms, Data Structures, Data Analytics & Data Science, Deep Learning, Machine Learning, Programming Languages and Software Tools & Packages.
(Discount is valid for limited time only)

Disclaimer: The information and code presented within this recipe/tutorial is only for educational and coaching purposes for beginners and developers. Anyone can practice and apply the recipe/tutorial presented here, but the reader is taking full responsibility for his/her actions. The author (content curator) of this recipe (code / program) has made every effort to ensure the accuracy of the information was correct at time of publication. The author (content curator) does not assume and hereby disclaims any liability to any party for any loss, damage, or disruption caused by errors or omissions, whether such errors or omissions result from accident, negligence, or any other cause. The information presented here could also be found in public knowledge domains.

Learn by Coding: v-Tutorials on Applied Machine Learning and Data Science for Beginners

Please do not waste your valuable time by watching videos, rather use end-to-end (Python and R) recipes from Professional Data Scientists to practice coding, and land the most demandable jobs in the fields of Predictive analytics & AI (Machine Learning and Data Science).

The objective is to guide the developers & analysts to “Learn how to Code” for Applied AI using end-to-end coding solutions, and unlock the world of opportunities!