Comparing data between two tables uses EXCEPT, full joins, and hashes, with explicit NULL and duplicate rules for trustworthy results.
Data Governance: Catalog, Lineage and Data Quality
Data Governance is how you know what data you have, where it came from, who can see it and whether it is right. This post covers the catalog, lineage, access and data quality, with T-SQL checks you can run.
Median on Big Tables: PERCENTILE_CONT vs a Two-Row Seek
Two ways to get a median, one tiny demo, and the traps in NULLs, even counts and empty tables. Then measure on your own server.
The PRODUCT Aggregate: Multiplying Values Across Rows
Use the PRODUCT aggregate in SQL Server 2025 for growth factors and independent probabilities, with checks for NULL, zero, and precision.
UPDATE() in a Trigger Is True Even When Nothing Changed
Understand why UPDATE() in a trigger fires for unchanged SET values and log only real changes with inserted and deleted row comparisons.
Query Options in SSMS: Settings That Change Your Results
Query Options are the per-window settings in SSMS that change how a query runs and how its results look. This post covers results to grid, text or file, the character limits that cut long values, the SET options that change answers, and why SSMS and your application can disagree.
Joining Tables in SQL Server: INNER, LEFT and FULL Joins
Joining Tables lets one query combine rows from two tables that share a value. This post uses small Customers and Orders tables to show what INNER, LEFT and FULL OUTER joins return, how many rows each one gives, and how to read the rows that have no match.







