Recently, I've blogged about how well jOOQ's supported databases implement row value expressions and predicates formed from them. Some sample articles: Row value expressions and the BETWEEN predicate Row value expressions and the NULL predicate A Typesafety Comparison of SQL Access APIs Row value expressions (or records, tuples) are useful to express more complex predicates, such as this … Continue reading SQL Query Transformation Fun: Predicates with Row Value Expressions
Tag: query transformation
NOT IN vs. NOT EXISTS vs. LEFT JOIN / IS NULL: MySQL
When you're spoiled with Oracle's fabulous query transformation capabilities and its really well-done cost-based optimiser, then you might forget how difficult SQL query tuning used to be in the "old days" or with those less sophisticated databases. Here's a really nice explanation of the various means of implementing an ANTI-JOIN in MySQL: http://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/