During many decision-making phases in programming code
(conditional logic), there are times execution depends on
several different factors. Multiple conditional tests
are powerful and constraining, oftentimes requiring more than one
test to be passed in order for program flow to proceed. For MySQL
(and standard SQL in general) the CASE
expression is
used for IF
/THEN
/ELSE
conditional logic. The post, MySQL Simple CASE Expression – with
examples, covered Simple CASE
queries which
are essentially equality tests. MySQL Simple CASE
is
but one variant of 2, with the other being a MySQL
Searched CASE
Expression. A MySQL Searched
CASE
Expression can have multiple
conditional tests in each WHEN
…
Programming logic is foundational in any application or piece of
software. Without it, software wouldn’t really do much of
anything. Everything happens off of choice. In the end, some
truthy or falsy value is what makes stuff work.
For IF
/THEN
/ELSE
logic in
standard SQL, there is the CASE
expression. There
are 2 variations of the CASE
Expression: Simple and
Searched. In this post, I cover the Simple MySQL
CASE
expression with example queries…
Image by Nika Akin from …
[Read more]
Be it running reports or displaying data in some other
visualization, SQL SELECT
column expressions should
be meaningful and understandable. To provide those valuable query
results, SQL Developers, use a multitude of available functions,
adjacent columns, or other means not readily apparent to
end-users. All that being said, the column names often suffer the
most as far as readability is concerned, taking on long function
call names or other combined expressions. But, as luck would be
on our side, there is an easy fix and that is aliasing columns
using the AS
keyword. Although AS
is
optional – in this particular context – I err on the side of
readability and use it when aliasing SELECT
column
expressions.
Each SQL dialect is different in some way, shape, form, or
fashion from the next flavor. Some dialects have this
function, while others have that function. In this post, I cover
porting over Oracle SQL to MySQL in order to count the
number of occurrences of a specific weekday found in the current
given month (at the time of writing) purely as a learning
exercise focused on MySQL DATE
functions and the
WITH
clause…
Image by tigerlily713 from Pixabay
…
[Read more]
I recently published a blog post over on Medium
about the differences in 2 versions of the MySQL
COUNT()
aggregate function: COUNT(*)
and COUNT(column_name or expression)
. I wanted to
share the post here with any readers who may be interested so
continue reading for more on this post…
Image by anncapictures from Pixabay
Self-Promotion:
If you enjoy the content written here, by …
[Read more]
Most developers use some form of auto-incrementing integer
counter for a given database table, ensuring uniqueness
among the rows. Several of the popular SQL dialects implement
this facility. For instance, MySQL’s AUTO_INCREMENT
attribute is used to provide a unique identity for a table row.
What exactly is the behavior of AUTO_INCREMENT
? Can
you explicitly use a value of your choosing for it if you need
to? How does it count? Continue reading and know the answers to
these questions and more…
Image by Gerd Altmann from …
[Read more]CSV imports with MySQL Workbench, is super simple. Since CSV’s are probably the most common data interchange format, it goes without saying that importing CSV data into MySQL is a staple task for all DBA’s and Developers. Continue reading to learn how easy it is using MySQL Workbench…
Image by OpenClipart-Vectors from Pixabay
Self-Promotion:
If you enjoy the content written here, by all means, …
[Read more]If you use SQL on a regular basis, then you are well aware that Window Functions are powerful. They allow us to simplify queries that would otherwise be quite the mess. We can provide meaningful insight across rows of data without collapsing the results into a single value. I have written numerous blog posts on Window Functions, many here recently. I decided to make this blog post a compilation of all the Window Function posts I have written, providing a one-stop source for any readers interested in learning more about Window Functions…
Image by Free-Photos from …
[Read more]
Rolling sum and average query results are possible by combining
the aggregate functions SUM()
or AVG()
with the OVER()
clause, making for powerful analytic
queries. I recently learned how to compute a rolling
average or sum of values by using the Windowing option
of the OVER()
clause, applying the concepts to a
data set I am familiar with. I wanted to share my learning with
any readers who might be interested…
Image by Steve Buissinne from …
[Read more]
The Window Ranking functions: ROW_NUMBER()
,
RANK()
, and DENSE_RANK()
each
rank rows with an increasing integer value. I wrote a
previous blog post, ROW_NUMBER() Window Function – find duplicate
values, where I covered how the ROW_NUMBER()
window function can be used to target any duplicate rows, with
the use of the PARTITION BY
clause in the
OVER()
clause. In this post, I cover the differences
between RANK()
, and DENSE_RANK()
in
handling any ties according to the sorting performed by the
ORDER BY
clause with regards to the assigned
increasing integer. Continue reading and see examples…
…
[Read more]