Category Archives

Archive of posts published in the category: SQL

Executing SQL query inside Excel spreadsheet

Did you know that you can execute almost any SQL query directly in your Excel spreadsheet? This can be very useful for executing queries with GROUP BY and aggregates since they cannot be generated that easily in Excel. Let’s begin. I will use…

SQLxD Part 23 — Query parser tests

This is the twenty third part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Here go the tests for query parser: using System; using FluentAssertions; using Model; using…

SQLxD Part 22 — Query parser

This is the twenty second part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation For parsing queries we use IronPython. Let’s begin with C# code for executing PLY…

SQLxD Part 21 — SELECT

This is the twenty first part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation We have all things to transform rows and columns. Now it is time to…

SQLxD Part 20 — Transformers

This is the twentieth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation We can extract nodes, transform them into rows, filter, join, group, order, and transform them.…

SQLxD Part 19 — Expressions tests

This is the nineteenth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Last time we implemented expressions, it is high time to test them: using Model; using…

SQLxD Part 18 — Expressions

This is the eighteenth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Last time we saw tests for aggregates. Today we are going to implement expressions. We…

SQLxD Part 17 — Tests for aggregates

This is the seventeenth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Last time we implemented aggregates, today we test them. Here are the snippets: using Model;…

SQLxD Part 16 — Aggregates

This is the sixteenth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Today we implement various aggregates. Let’s start with the interface: using Model; namespace QueryLogic.Aggregates {…

SQLxD Part 15 — Ordering

This is the fifteenth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Last time we implemented grouping, today we focus on ordering. These two operations are very…

SQLxD Part 14 — Grouping

This is the fourteenth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Today we implement grouping. Since we can group in multiple ways, we need to have…

SQLxD Part 13 — Natural join

This is the thirtieth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation We mentioned the natural join a few times and it finally the part when we…

SQLxD Part 12 — JOINs tests

This is the twelfth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Let’s implement tests for joins: using System; using System.Collections.Generic; using System.Linq; using Model; using NUnit.Framework;…

SQLxD Part 11 — JOINs

This is the eleventh part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Today we implement various JOIN operators. Let’s start with interfaces: using QueryLogic.RelationProviding; namespace QueryLogic.Joins.Abstraction {…

SQLxD Part 10 — WHERE and tests

This is the tenth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Today we are going to test our code. First, we need to have some mocks:…

SQLxD Part 9 — WHERE and LIKE operator

This is the ninth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation As the last predicate we implement LIKE operator. It is not that simple so the…

SQLxD Part 8 — WHERE with joined predicates

This is the eighth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation We continue implementing the predicates. Today we will join them to construct logic expressions. In…

SQLxD Part 7 — WHERE with simple predicates

This is the seventh part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation Last time we saw how to handle FROM clause. Today we are going to implement…

SQLxD Part 6 — FROM

This is the sixth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation We already know how to transform XML nodes into SQL-like rows. Now it is time…

SQLxD Part 5 — Generating columns

This is the fifth part of the SQLxD series. For your convenience you can find other parts in the table of contents in Part 1 – XML Transformation We already have the model, can parse XML document, and know how to refer to…