SQL Server BasicsWhat is SQL Server database?What is RDBMS?What is Normalization?Why we use Denormalization?What_is_SQL?What is PL/SQL?Difference between SQL and PL/SQLDatabase TableOne to One RelationshipOne to Many RelationshipMany to Many RelationshipMany to One RelationshipString Data TypesNumber Data TypesDate Data TypesOther Data TypesCreate DatabaseDrop DatabaseCreating and Managing Users in SQL ServerCreate TableAlter TableDrop TableConstraints in SQL serverPrimary KeyForeign KeyUnique KeyCandidate KeyComposite KeyDifference between primary key and candidate keyPrimary key and foreign key relationshipSurrogate KeyCascading Referential Integrity ConstraintsSelf Referential Integrity ConstraintsInsert into statementInsert multiple recordsUpdate statementDelete statementTruncate statementDifference between Delete and TruncateAlias in SQL ServerSelect statementSelect DistinctSelect TopSelect IntoNull Functions(ISNULL(),NULLIF(),COALESCE())Sub QueryIdentity ColumnSequence objectDifference between sequence and identity columnSQL Server ClausesWHERE ClauseOrder By ClauseTop N ClauseGroup By ClauseHaving ClauseDifference between Where and HavingSQL Server OperatorsArithmetic OperatorsComparison OperatorsLogical OperatorsBitwise OperatorsAny OperatorsAll OperatorsUnion OperatorsUnion All OperatorsDifference between Union and Union AllIntersect OperatorExcept OperatorDifference between Except and IntersectJoinsInner JoinLeft JoinRight JoinFull JoinSelf JoinCross JoinViewsWhat are views?Create views using SSMSIndexed ViewsComplex ViewsCheck Option in ViewCheck Encryption in ViewSchema Binding Option in ViewRead-only ViewsUpdatable ViewsAdvantages and disadvantages of viewsCreate multiple views on one tableCan we implement index on views?Can we Perform Insert, update, delete operation on views?Stored Procedure and FunctionsWhat are Stored Procedures?Why we use stored procedures?Passing parameters to Stored procedureUser-Defined FunctionsDifference between UDF and Stored procedurePre-Defined Functions@@Indentity and Scope_IndentityNULLIF, ISNULL and COALESCE

SQL - Except Operator

In SQL Server, the EXCEPT operator is used to retrieve the distinct rows from the result set of the first SELECT statement that are not present in the result set of the second SELECT statement. It essentially subtracts the rows of one result set from another.

The basic syntax for using the EXCEPT operator in SQL Server is as follows:


SELECT column1, column2, ...
FROM table1
EXCEPT
SELECT column1, column2, ...
FROM table2;

In this syntax, column1, column2, etc., represent the columns you want to select from the respective tables (table1, table2, etc.). The SELECT statements can include WHERE, ORDER BY, and other clauses as needed.

The EXCEPT operator compares the result sets of the two SELECT statements and returns a single result set with the distinct rows from the first result set that are not present in the second result set. The columns in the SELECT statements must have the same data types and be in the same order.

Here's an example to illustrate the usage of the EXCEPT operator:

Consider two tables, "Employees" and "Managers", with the following structures:

Table: Employees
ID Name
1 John
2 Jane
3 Mike
Table: Managers
ID Name
2 Jane
4 Tom
5 Sarah

To retrieve the employees who are not managers (i.e., distinct rows present in "Employees" but not in "Managers"), you can use the EXCEPT operator as follows:


SELECT ID, Name
FROM Employees
EXCEPT
SELECT ID, Name
FROM Managers;

The above query will return the distinct rows from the "Employees" table that are not present in the "Managers" table. Here's the expected output:

ID Name
1 John
3 Mike

As you can see, the result set includes the rows with ID 1 and Name "John", and ID 3 and Name "Mike" because they exist in the "Employees" table but not in the "Managers" table.

It's important to note that the columns, their data types, and their order must match in the SELECT statements for the EXCEPT operator to work correctly.

In summary, the EXCEPT operator in SQL Server allows you to retrieve the distinct rows from the first result set that are not present in the second result set.