Conditional Aggregation, Pivot and Unpivot
Turning rows into columns and back again with portable SQL. Conditional aggregation, the PIVOT operator where it exists, and unpivoting with UNION ALL...
Material for readers past the basics.
145 notes tagged
Turning rows into columns and back again with portable SQL. Conditional aggregation, the PIVOT operator where it exists, and unpivoting with UNION ALL...
The structure you write decides which selectors are available. Attribute selectors, sibling combinators and structural pseudo classes can replace a su...
Control what appears when your page is shared in a chat, a feed or a message. Without these tags the platform guesses, and it usually guesses badly.
When you can INSERT or UPDATE through a view, what WITH CHECK OPTION protects against, and an honest comparison of views, tables and materialised view...
Three head entries that shape how a page appears in search results, whether it is indexed at all, and which URL gets the credit.
A view is a stored query you can select from like a table. Learn CREATE VIEW, how views are executed, and the four jobs they do well.
Modals with focus trapping, backdrop, Escape handling and inertness supplied by the browser. A component that used to need a library is now one elemen...
Markup that is parsed but not rendered, waiting to be cloned. The clean way to build repeated content in JavaScript without writing HTML as strings.
How to get from a description of a business to a set of tables: find the entities, give them attributes, connect them, and name everything consistentl...
Vector graphics that scale perfectly, weigh almost nothing and can be styled with CSS. Learn inline SVG, SVG as an image, and how to make one accessib...
Two tables that both have many of each other need a third table. Learn the junction table pattern, its key design, and how to query and count across i...
A legitimate way to attach custom information to an element, readable from CSS and JavaScript, without inventing invalid attributes.