Overriding identity fields is rare, but restoring a deleted row with its old ID needs it. This post uses IDENTITY_INSERT to put two workshops back with their old numbers. It shows the five errors you will meet, what happens to the next automatic number, and why gaps in an identity column are usually fine.
Many-to-Many Bridge Table in SQL Server: Model and Query It
A many-to-many bridge table links two tables that each have many partners in the other, such as orders and plants. This post builds one with a composite key and two foreign keys, then joins it three ways. It also shows what the keys block and why an inner join hides plants nobody ordered.
Dirty Records and Table Hints: Wait, Read Dirty, Skip or Fail
Dirty records and table hints decide what a SELECT does while another session has an uncommitted change. This post runs one update that rolls back and five readers against it: the default, READUNCOMMITTED, NOLOCK, READPAST and NOWAIT. It also shows how a database option changes the default.
Multi-Row INSERT in SQL Server: One Statement, All or Nothing
A multi-row INSERT adds several rows with one statement, using a list of value groups separated by commas. This post compares it with separate INSERT statements on a small table of books. It shows that one bad row undoes the whole statement, and it covers the errors and the 1,000 row limit.
Unmatched Records Query: Four Ways to Find Rows With No Match
An unmatched records query finds the rows in one table that have no partner in another, such as plants that never sold. This post runs four versions on a small table: LEFT JOIN with a NULL test, NOT EXISTS, NOT IN and EXCEPT. It also shows the NULL trap that makes NOT IN return nothing.
Build a Query in Two Phases: Organize First, Itemize Second
Build a query in two phases: organize first, itemize second. Phase one gets the tables, joins and filter working with SELECT *, and phase two swaps the star for a column list. This post shows the method on a small branch and staff table, and the three errors it helps you avoid.
Finding Apostrophes in SQL Server Text: Straight and Curly
Finding apostrophes in SQL Server text takes one trick and one trap. The trick is doubling the quote inside a LIKE pattern. The trap is that text can hold a curly apostrophe, and the usual search skips it. This post tests both on a table of eight shop names.







