Contents
Set operations (SQL)
Set operations in SQL is a type of operations which allow the results of multiple queries to be combined into a single result set. Set operators in SQL include, , and , which mathematically correspond to the concepts of union, intersection and set difference.
UNION operator
In** SQL the **** **** clause combines the results of two SQL queries into a single table of all matching **rows. The two queries must result in the same number of columns and compatible data types in order to unite. Any duplicate records are automatically removed unless is used. can be useful in data warehouse applications where tables are not perfectly normalized. A simple example would be a database having tables and that have identical structures but are separated because of performance considerations. A query could combine results from both tables. Note that does not guarantee the order of rows. Rows from the second operand may appear before, after, or mixed with rows from the first operand. In situations where a specific order is desired, must be used. Note that may be much faster than plain.
Examples
Given these two tables: Executing this statement: yields this result set, though the order of the rows can vary because no clause was supplied: Note that there are two rows for Joe because those rows are distinct across their columns. There is only one row for Alex because those rows are not distinct for both columns. gives different results, because it will not eliminate duplicates. Executing this statement: would give these results, again allowing variance for the lack of an statement: The discussion of full outer joins also has an example that uses.
INTERSECT operator
The SQL operator takes the results of two queries and returns only rows that appear in both result sets. For purposes of duplicate removal the operator does not distinguish between. The operator removes duplicate rows from the final result set. The operator does not remove duplicate rows from the final result set, but if a row appears X times in the first query and Y times in the second, it will appear \min(X,Y) times in the result set.
Example
The following example query returns all rows from the Orders table where Quantity is between 50 and 100.
EXCEPT operator
The SQL operator takes the distinct rows of one query and returns the rows that do not appear in a second result set. For purposes of row elimination and duplicate removal, the operator does not distinguish between. The operator does not remove duplicates, but if a row appears X times in the first query and Y times in the second, it will appear times in the result set. Notably, the Oracle platform provides a operator which is functionally equivalent to the SQL standard operator.
Example
The following example query returns all rows from the Orders table where Quantity is between 1 and 49, and those with a Quantity between 76 and 100. Worded another way; the query returns all rows where the Quantity is between 1 and 100, apart from rows where the quantity is between 50 and 75.
Example
The following example is equivalent to the above example but without using the operator.
This article is derived from Wikipedia and licensed under CC BY-SA 4.0. View the original article.
Wikipedia® is a registered trademark of the
Wikimedia Foundation, Inc.
Bliptext is not
affiliated with or endorsed by Wikipedia or the
Wikimedia Foundation.