jOOQ Tuesdays: Thomas Müller Unveils How HSQLDB Evolved into the Popular H2...
Welcome to the jOOQ Tuesdays series. In this series, we’ll publish an article on the third Tuesday every other month where we interview someone we find exciting in our industry from a jOOQ perspective....
View ArticleThere is no Such Thing as Object-Relational Impedance Mismatch
Much of the ORM criticism of the last decade missed the point, being inaccurate. By the end of this article, we will conclude with the following: There is no significant difference between the...
View ArticleDon’t Format Dates in SQL. Use the DATE Literal!
I’m seeing people do this all the time. They want to hammer a date or timestamp constant into their SQL query, and the only function they know is the TO_DATE() or TO_TIMESTAMP() date parsing function:...
View ArticleIt is all about the JDBC Basics
We’re very happy to announce a guest post by Marco Behler, who has been blogging about jOOQ in the past. Marco started out in programming (reverse-engineering, actually) and now mainly programmes on...
View ArticleLet’s Meet at JAX London and Other Events to Talk About SQL
Exciting times are ahead for Java/SQL developers. SQL is strong and popular as ever. It is the right language for relational databases just as much as for Big Data storage systems. Just this week,...
View ArticleA True SQL Gem You Didn’t Know Yet: The EVERY() Aggregate Function
We’ve just added support for the EVERY() aggregate function (#1391) to jOOQ, and would like to take the opportunity of letting you know of this true SQL gem that can come in handy EVERY(now and then)...
View ArticleYou Probably don’t Use SQL INTERSECT or EXCEPT Often Enough
When people talk about SQL JOIN, they often use Venn Diagrams to illustrate inclusion and exclusion of the two joined sets: While these Venn diagrams are certainly useful to understand (and remember)...
View ArticleHow to Quickly Enumerate Indexes in Oracle 11gR2
Do you want to know real quick what kind of indexes there are on any given table in your Oracle schema? Nothing simpler than that. Just run the following query: SELECT i.index_name,...
View ArticleA Beginner’s Guide to Using Java EE with jOOQ
Java EE ships with its own persistence API: JPA. JPA is most powerful when you want to map your RDBMS entities (tables / relations) to Java entities (classes), mostly following a 1:1 mapping strategy....
View ArticleSemi Join and Anti Join Should Have its own Syntax in SQL
Relational algebra nicely describes the various operations that we know in SQL as well from a more abstract, formal perspective. One of the most common relational JOIN operations is the “equi-join” or...
View ArticleThe 10 Most Popular DB Engines (SQL and NoSQL) in 2015
About two years ago, we’ve published this post about the 10 most popular DB engines, where we analyzed the data published by Solid IT on their DB Ranking website. In the meantime, the Solid IT...
View ArticleTransform Your SQL Data into Charts Using jOOQ and JavaFX
In the recent past, we’ve shown how Java 8 and functional programming will bring a new perspective to Java developers when it comes to functional data transformation of SQL data using jOOQ and Java 8...
View ArticlejOOQ Tuesdays: Markus Winand is on a Modern SQL Mission
Welcome to the jOOQ Tuesdays series. In this series, we’ll publish an article on the third Tuesday every other month where we interview someone we find exciting in our industry from a jOOQ perspective....
View ArticleHow to Find the Closest Subset Sum with SQL
I’ve stumbled upon this very interesting question on Stack Overflow, recently. Its title is: [How to] compare a number with sum of subset of numbers In this article, we’ll compare the user’s imperative...
View ArticleStill Using Windows 3.1? So why stick to SQL-92?
We’ve been blogging a lot about the merits of modern SQL on the jOOQ blog. Specifically, window functions are one of the most fascinating features. But there are many many others. Markus Winand, author...
View ArticleHow to Find the Longest Consecutive Series of Events in SQL
A very interesting problem that can be solved very easily with SQL is to find consecutive series of events in a time series. But what is a consecutive series of events in a time series? Take Stack...
View ArticleReactive Database Access – Part 1 – Why “Async”
We’re very happy to announce a guest post series on the jOOQ blog by Manuel Bernhardt. In this blog series, Manuel will explain the motivation behind so-called reactive technologies and after...
View ArticleSQL GROUP BY and Functional Dependencies: A Very Useful Feature
Relational databases define the term “Functional Dependency” as such (from Wikipedia): In relational database theory, a functional dependency is a constraint between two sets of attributes in a...
View ArticleHow to Fill Sparse Data With the Previous Non-Empty Value in SQL
The following is a very common problem in all data related technologies and we’re going to look into two very lean, SQL-based solutions for it: How do I fill the cells of a sparse data set with the...
View ArticlePlease, Java. Do Finally Support Multiline String Literals
I understand the idea of Java-the-language being rather hard to maintain in a backwards-compatible way. I understand the idea of JDK API, such as the collections, to be rather tough not to break. Yes....
View Article