<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[databites]]></title><description><![CDATA[Data and AI, clearly explained. Weekly diagrams and career notes for practitioners.]]></description><link>https://reads.databites.tech</link><image><url>https://substackcdn.com/image/fetch/$s_!nYiM!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151064b1-1b76-4f6d-adaf-0efcacff80d1_281x281.png</url><title>databites</title><link>https://reads.databites.tech</link></image><generator>Substack</generator><lastBuildDate>Sun, 27 Sep 2026 22:15:52 GMT</lastBuildDate><atom:link href="https://reads.databites.tech/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Josep Ferrer]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[databites.hi@gmail.com]]></webMaster><itunes:owner><itunes:email><![CDATA[databites.hi@gmail.com]]></itunes:email><itunes:name><![CDATA[Josep Ferrer]]></itunes:name></itunes:owner><itunes:author><![CDATA[Josep Ferrer]]></itunes:author><googleplay:owner><![CDATA[databites.hi@gmail.com]]></googleplay:owner><googleplay:email><![CDATA[databites.hi@gmail.com]]></googleplay:email><googleplay:author><![CDATA[Josep Ferrer]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Your best post is not doing what you think]]></title><description><![CDATA[Two viral posts, and the number I'd been ignoring.]]></description><link>https://reads.databites.tech/p/viral-post-numbers-reach-vs-audience</link><guid isPermaLink="false">https://reads.databites.tech/p/viral-post-numbers-reach-vs-audience</guid><pubDate>Wed, 05 Aug 2026 10:03:48 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7202d1ed-679d-4eec-b0d7-16f73268957b_722x722.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Two months ago my LinkedIn inbox filled up. People I hadn&#8217;t spoken to in years, writing to tell me they&#8217;d seen the map everywhere.</p><p>It was a map of Spain. Every block, 0.1% of the population.</p><p>The follower count moved too. From the outside, it looked like something had happened.</p><p>118,712 impressions. 124 new followers.</p><p>I sat with those two numbers for a while.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lxry!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lxry!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png 424w, https://substackcdn.com/image/fetch/$s_!lxry!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png 848w, https://substackcdn.com/image/fetch/$s_!lxry!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png 1272w, https://substackcdn.com/image/fetch/$s_!lxry!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lxry!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png" width="455" height="994" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:994,&quot;width&quot;:455,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:78829,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://reads.databites.tech/i/209805456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lxry!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png 424w, https://substackcdn.com/image/fetch/$s_!lxry!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png 848w, https://substackcdn.com/image/fetch/$s_!lxry!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png 1272w, https://substackcdn.com/image/fetch/$s_!lxry!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239335c6-79ed-4bbe-bd3e-867cf17f7421_455x994.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/viral-post-numbers-reach-vs-audience">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Actually Get Started with LLMs]]></title><description><![CDATA[A clear (and human) guide to get started with LLMs without drowning]]></description><link>https://reads.databites.tech/p/how-to-actually-get-started-with-988</link><guid isPermaLink="false">https://reads.databites.tech/p/how-to-actually-get-started-with-988</guid><pubDate>Sun, 02 Aug 2026 10:02:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/61c7e702-8b02-407e-b418-c087ff8e461c_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>LLMs are moving faster than your backlog. </p><p><strong>Feeling behind?</strong> You&#8217;re not.<br>Today&#8217;s issue compresses the essentials (what matters, what doesn&#8217;t) into a buildable path. </p><blockquote><p>Minimal theory, maximum leverage.</p></blockquote><p><strong>Following my Transformers cheat sheets (<a href="https://reads.databites.tech/p/the-transformers-architecture-part">architecture</a>, <a href="https://reads.databites.tech/p/understanding-the-encoder-part-ii">encoder</a>, <a href="https://reads.databites.tech/p/understanding-the-decoder-part-iii">decoder</a>), today we go end-to-end: </strong></p><ol><li><p><strong>What to learn</strong></p></li><li><p><strong>What to build first</strong></p></li><li><p><strong>How to avoid the rabbit holes.</strong></p></li></ol><p>&#9888;&#65039; </p>
      <p>
          <a href="https://reads.databites.tech/p/how-to-actually-get-started-with-988">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[You skipped SQL. The job didn't.]]></title><description><![CDATA[Forty years old and still the last thing standing.]]></description><link>https://reads.databites.tech/p/you-skipped-sql-the-job-didnt</link><guid isPermaLink="false">https://reads.databites.tech/p/you-skipped-sql-the-job-didnt</guid><pubDate>Tue, 28 Jul 2026 10:21:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e4295fe0-4ecb-43c0-9b55-ffe3e6d8aa87_1296x1298.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week I wrote that most of your real value lives in pandas, SQL, and knowing where to look.</p><p>Almost every reply picked out the same word.</p><blockquote><p><em>Is SQL still worth learning in 2026?</em></p></blockquote><p>I get where the question comes from. SQL is what you learn in week two of a bootcamp. No release cycle, no conference, no version number anyone argues about. It looks finished.</p><blockquote><p>So p&#8230;</p></blockquote>
      <p>
          <a href="https://reads.databites.tech/p/you-skipped-sql-the-job-didnt">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The interview stack. The work stack. Two different jobs.]]></title><description><![CDATA[Two lists. Almost no overlap.]]></description><link>https://reads.databites.tech/p/the-interview-stack-the-work-stack</link><guid isPermaLink="false">https://reads.databites.tech/p/the-interview-stack-the-work-stack</guid><pubDate>Tue, 21 Jul 2026 11:32:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c2ac95a9-c811-438c-a842-7c09dfb0e05a_1911x1911.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A friend of mine finished her data science bootcamp last October.</p><p>She could build an end-to-end scikit-learn Pipeline in her sleep.</p><p>Six months into her first job, she&#8217;d used it exactly once.</p><blockquote><p><em>&#8220;I feel like I forgot everything.&#8221;</em></p></blockquote><p>She hadn&#8217;t forgotten anything. The stack just changed the moment she stopped interviewing.</p><p><strong>The Python libraries you learn for intervie&#8230;</strong></p>
      <p>
          <a href="https://reads.databites.tech/p/the-interview-stack-the-work-stack">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The SQL habit that separates juniors from seniors]]></title><description><![CDATA[One SQL keyword turns tangled queries into readable, reusable code. Here's the four-panel CTE cheatsheet that shows you how.]]></description><link>https://reads.databites.tech/p/the-sql-habit-that-separates-juniors</link><guid isPermaLink="false">https://reads.databites.tech/p/the-sql-habit-that-separates-juniors</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Sun, 19 Jul 2026 10:50:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e67ee872-fde0-4ffe-8656-64c21515e38e_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week, we broke down SQL's joins.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;91c8269e-b861-49c1-8e44-afab9fe2e7ac&quot;,&quot;caption&quot;:&quot;A few weeks back we broke down SQL's execution order.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Mastering SQL JOINs&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:132707413,&quot;name&quot;:&quot;Josep Ferrer&quot;,&quot;bio&quot;:&quot;Outstand using data -- Data Science, Design and Tech Tech Writer @KDnuggets @DataCamp &#128073;&#127995;Inquiries in rfeers@gmail.com&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd196b5a6-59f2-46dd-99b3-e10ab1bbd27d_604x604.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-12T10:00:50.446Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84542a2b-a023-4fcf-806b-0692afe833a5_1465x1057.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://reads.databites.tech/p/sql-joins-cheatsheet&quot;,&quot;section_name&quot;:&quot;Visual Bites&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:206671419,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:0,&quot;publication_id&quot;:2143185,&quot;publication_name&quot;:&quot;databites&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!nYiM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151064b1-1b76-4f6d-adaf-0efcacff80d1_281x281.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Today we go one layer up. Not stitching tables together, but organizing the whole query so it reads like structured code instead of a wall of nested logic.</p><p>Here&#8217;s this week&#8217;s cheatsheet &#128071;&#127995;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jU0e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jU0e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png 424w, https://substackcdn.com/image/fetch/$s_!jU0e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png 848w, https://substackcdn.com/image/fetch/$s_!jU0e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png 1272w, https://substackcdn.com/image/fetch/$s_!jU0e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jU0e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png" width="1456" height="1506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1506,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1770964,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://reads.databites.tech/i/207642631?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jU0e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png 424w, https://substackcdn.com/image/fetch/$s_!jU0e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png 848w, https://substackcdn.com/image/fetch/$s_!jU0e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png 1272w, https://substackcdn.com/image/fetch/$s_!jU0e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9586c4b-1f7f-49e6-ba94-5d9a4c7fa73b_3693x3820.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ever inherited a SQL query from someone who left three months ago?</p><p>Nothing lines up. The same metric is calculated three different&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/the-sql-habit-that-separates-juniors">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Your GitHub is not your portfolio.]]></title><description><![CDATA[One holds your code. The other decides your career.]]></description><link>https://reads.databites.tech/p/your-github-is-not-your-portfolio</link><guid isPermaLink="false">https://reads.databites.tech/p/your-github-is-not-your-portfolio</guid><pubDate>Tue, 14 Jul 2026 10:46:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7f634cb4-e497-4b83-a494-c15e1da05c50_2268x2268.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A reader message landed in my inbox this weekend.</p><blockquote><p><em>I have a bunch of projects on GitHub. Is that my portfolio?</em></p></blockquote><p>Short answer: no.</p><p><strong>A GitHub is a repository. A portfolio is a story.</strong></p><p>Two different objects. Two different audiences. Two different jobs.</p><p>GitHub is for the person who wants to read your code. That&#8217;s a tiny audience. Usually another engineer. Usually al&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/your-github-is-not-your-portfolio">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Mastering SQL JOINs]]></title><description><![CDATA[Some weeks ago we broke down SQL&#8217;s execution order with Join:]]></description><link>https://reads.databites.tech/p/sql-joins-cheatsheet</link><guid isPermaLink="false">https://reads.databites.tech/p/sql-joins-cheatsheet</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Sun, 12 Jul 2026 10:00:50 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/84542a2b-a023-4fcf-806b-0692afe833a5_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few weeks back we broke down SQL's execution order.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b07a8725-e6c3-4caf-bd4b-bd6e3271f682&quot;,&quot;caption&quot;:&quot;Last week we broke down SQL&#8217;s execution order: your clauses don&#8217;t run in the order you write them. FROM first, SELECT fifth.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Mastering SQL Execution Order with JOINs&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:132707413,&quot;name&quot;:&quot;Josep Ferrer&quot;,&quot;bio&quot;:&quot;Outstand using data -- Data Science, Design and Tech Tech Writer @KDnuggets @DataCamp &#128073;&#127995;Inquiries in rfeers@gmail.com&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd196b5a6-59f2-46dd-99b3-e10ab1bbd27d_604x604.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-07T10:53:30.038Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4c250ac-d319-4962-a19b-ebd904699056_1465x1057.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://reads.databites.tech/p/mastering-sql-execution-order-with-fbd&quot;,&quot;section_name&quot;:&quot;Visual Bites&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:199916862,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:11,&quot;comment_count&quot;:0,&quot;publication_id&quot;:2143185,&quot;publication_name&quot;:&quot;databites&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!nYiM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151064b1-1b76-4f6d-adaf-0efcacff80d1_281x281.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Today we go one layer deeper: the joins themselves.</p><p>Merging tables is where SQL gets real. And where most people get stuck. </p><p>LEFT, RIGHT, INNER, FULL. </p><blockquote><p>Which one when? </p><p>What happens to unmatched rows?</p></blockquote><p>Here&#8217;s the full cheatsheet &#128071;&#127995;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mcpQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mcpQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png 424w, https://substackcdn.com/image/fetch/$s_!mcpQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png 848w, https://substackcdn.com/image/fetch/$s_!mcpQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png 1272w, https://substackcdn.com/image/fetch/$s_!mcpQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mcpQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png" width="1456" height="1594" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1594,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2159614,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://reads.databites.tech/i/206671419?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mcpQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png 424w, https://substackcdn.com/image/fetch/$s_!mcpQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png 848w, https://substackcdn.com/image/fetch/$s_!mcpQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png 1272w, https://substackcdn.com/image/fetch/$s_!mcpQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c95f951-3236-4aec-9cb2-6753cbabed78_3693x4043.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>The Magic of SQL Joins</h1><p>In the world of databases, data often resides in sepa&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/sql-joins-cheatsheet">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Eight Tuesdays down. A small thank you inside.]]></title><description><![CDATA[For staying with me through the reset.]]></description><link>https://reads.databites.tech/p/eight-tuesdays-down-a-small-thank</link><guid isPermaLink="false">https://reads.databites.tech/p/eight-tuesdays-down-a-small-thank</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Fri, 10 Jul 2026 12:51:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c50f5cd0-7401-4d0b-b182-059ecb2baf2b_1465x1296.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey,</p><p>Eight weeks ago, I hit publish on the first post of the databites reset.</p><p>I didn&#8217;t know if anyone would read it.<br>I didn&#8217;t know if I&#8217;d keep going.<br>I didn&#8217;t know if the format would hold up.</p><p>Eight Tuesdays later, we&#8217;re still here.</p><p>You opened the emails. You replied. You clicked. You stayed.</p><p>That means more than you probably realise. Eight weeks was the priva&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/eight-tuesdays-down-a-small-thank">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Understanding Data Collection with APIs]]></title><description><![CDATA[A hands-on guide to collecting structured data with Python and real-world APIs]]></description><link>https://reads.databites.tech/p/understanding-data-collection-with</link><guid isPermaLink="false">https://reads.databites.tech/p/understanding-data-collection-with</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Mon, 06 Jul 2026 09:33:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/22d64332-aece-4e6c-85e8-22b2eed67169_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In today&#8217;s world, knowing how to collect clean, relevant, and timely data is essential for any data professional. While there are many ways to gather data, one of the most reliable and scalable methods is through <strong>APIs (Application Programming Interfaces)</strong>.</p><div class="pullquote"><p>Cheatsheet &amp; Code in the end &#8252;&#65039;</p></div><p>In this issue, we&#8217;ll break down the essentials of using APIs for data&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/understanding-data-collection-with">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Seven Tuesdays down. Nobody warned me about this part.]]></title><description><![CDATA[Last Tuesday I sat down to write this and had nothing.]]></description><link>https://reads.databites.tech/p/seven-tuesdays-down-nobody-warned</link><guid isPermaLink="false">https://reads.databites.tech/p/seven-tuesdays-down-nobody-warned</guid><pubDate>Tue, 30 Jun 2026 10:01:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/18f6fff3-1c25-4717-a9f7-607f3edd4729_626x626.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last Tuesday I sat down to write this and had nothing.</p><p>Not writer&#8217;s block. Something worse.</p><p><em>The feeling that whatever I wrote wouldn&#8217;t be worth anyone&#8217;s time.</em></p><p>I published anyway. You&#8217;re reading it now.</p><p>That&#8217;s what seven weeks of showing up actually looks like from the inside. Not a streak. Not momentum. A decision you make again every week, usually under so&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/seven-tuesdays-down-nobody-warned">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Understanding The Decoder (Part III) ]]></title><description><![CDATA[Decoding the Encoder: A Deep Dive into Transformer Architecture]]></description><link>https://reads.databites.tech/p/understanding-the-decoder-part-iii</link><guid isPermaLink="false">https://reads.databites.tech/p/understanding-the-decoder-part-iii</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Sun, 28 Jun 2026 10:02:36 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2d7eac57-91dd-4df5-bf4a-5c9871da088c_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This article is the third (and last!) part of a <strong>three-part deep dive</strong> into one of the most revolutionary AI architectures of our time:</p><blockquote><p><strong>Transformers.</strong></p></blockquote><p>Here&#8217;s what&#8217;s coming your way:</p><p>&#9989; <strong>Week 1:</strong> Understanding the Transformers architecture &#8594;<strong> <a href="https://reads.databites.tech/p/the-transformers-architecture-part">Link</a></strong><br>&#9989; <strong>Week 2: </strong>The Encoder &#8594; <strong><a href="https://reads.databites.tech/p/understanding-the-encoder-part-ii">Link</a></strong><br>&#9989; <strong>Week 3:</strong> The Decoder &#8594; <strong><a href="https://reads.databites.tech/p/understanding-the-decoder-part-iii">Link</a></strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://reads.databites.tech/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://reads.databites.tech/subscribe?"><span>Subscribe now</span></a></p><h2><strong>Understanding the Decoder - Part III</strong></h2><p>The <strong>decoder&#8217;s primary role</strong> &#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/understanding-the-decoder-part-iii">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[You don't have a time problem. You have an anchor problem.]]></title><description><![CDATA[When I first went freelance, I had three clients inside two months.]]></description><link>https://reads.databites.tech/p/have-time-problem-you-have-anchor-problem</link><guid isPermaLink="false">https://reads.databites.tech/p/have-time-problem-you-have-anchor-problem</guid><pubDate>Tue, 23 Jun 2026 10:00:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/37018116-2886-4965-a047-887f4153c528_1290x1251.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I first went freelance, I had three clients inside two months.</p><p>My instinct was to separate everything cleanly. One client on Monday and Tuesday. Another on Wednesday and Thursday. Fridays for admin, proposals, the business side of things.</p><p><em>Three clients. Five days. Neat boxes.</em></p><p>It worked for about a month.</p><p>Then a client needed something on a Thursday. An&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/have-time-problem-you-have-anchor-problem">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Understanding The Encoder (Part II) ]]></title><description><![CDATA[Decoding the Encoder: A Deep Dive into Transformer Architecture]]></description><link>https://reads.databites.tech/p/understanding-the-encoder-part-ii</link><guid isPermaLink="false">https://reads.databites.tech/p/understanding-the-encoder-part-ii</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Sun, 21 Jun 2026 10:02:06 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0f995612-f190-4a22-91db-496ca1408798_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This article is the second part of a <strong>three-part deep dive</strong> into one of the most revolutionary AI architectures of our time:</p><blockquote><p><strong>Transformers</strong></p></blockquote><p>Here&#8217;s what&#8217;s coming your way:</p><p>&#9989; <strong>Week 1:</strong> Understanding the Transformers architecture  &#8594; <strong><a href="https://reads.databites.tech/p/the-transformers-architecture-part">Link</a></strong><br>&#9989; <strong>Week 2:</strong> The Encoder &#8594; <strong><a href="https://reads.databites.tech/p/understanding-the-encoder-part-ii">Link</a></strong><br>&#9989; <strong>Week 3:</strong> The Decoder &#8594; <strong><a href="https://reads.databites.tech/p/understanding-the-decoder-part-iii">Link</a></strong></p><h2><strong>Understanding the Encoder - Part II</strong></h2><p>The encoder is a<strong> fundamental component</strong> &#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/understanding-the-encoder-part-ii">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[You already have a personal brand. It's just not working for you.]]></title><description><![CDATA[Two years ago, I got a message from a university asking if I&#8217;d lead a subject in their master&#8217;s program.]]></description><link>https://reads.databites.tech/p/you-already-have-a-personal-brand</link><guid isPermaLink="false">https://reads.databites.tech/p/you-already-have-a-personal-brand</guid><pubDate>Tue, 16 Jun 2026 10:02:59 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f330c911-a0d5-4f42-b08d-67ff1abb0211_976x929.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Two years ago, I got a message from a university asking if I&#8217;d lead a subject in their master&#8217;s program.</p><p>I had never taught at a university before. </p><p>No formal teaching experience. No academic track record.</p><p><em>Just the diagrams.</em></p><p>They&#8217;d seen the work, decided I understood something worth teaching, and reached out.</p><p>I said yes. Went all in. And it became one of the&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/you-already-have-a-personal-brand">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Transformers Architecture (Part I)]]></title><description><![CDATA[Demystifying Transformers: A Three-Part Deep Dive into AI&#8217;s Most Powerful Architecture]]></description><link>https://reads.databites.tech/p/the-transformers-architecture-part</link><guid isPermaLink="false">https://reads.databites.tech/p/the-transformers-architecture-part</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Sun, 14 Jun 2026 10:02:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7ebd9cbd-3944-4c3a-afd5-807f2ecb0f98_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This article aims to  kicking off a <strong>three-part deep dive</strong> into one of the most revolutionary AI architectures of our time:</p><blockquote><p><strong>Transformers.</strong></p></blockquote><p>Here&#8217;s what&#8217;s coming your way:</p><p>&#9989; <strong>Week 1:</strong> Understanding the Transformers architecture <br>&#9989; <strong>Week 2:</strong> The Encoder &#8594; <strong><a href="https://reads.databites.tech/p/understanding-the-encoder-part-ii">Link</a></strong><br>&#9989; <strong>Week 3:</strong> The Decoder &#8594; <strong><a href="https://reads.databites.tech/p/understanding-the-decoder-part-iii">Link</a></strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://reads.databites.tech/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://reads.databites.tech/subscribe?"><span>Subscribe now</span></a></p><h2><strong>The Transformers Architecture - Part I</strong></h2><p>With <strong>GPT-3.5</strong> gaining <strong>1 million users in a w&#8230;</strong></p>
      <p>
          <a href="https://reads.databites.tech/p/the-transformers-architecture-part">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Your analysis was right. Nobody acted on it.]]></title><description><![CDATA[I once presented a model with 94% accuracy to a room of eight stakeholders.]]></description><link>https://reads.databites.tech/p/your-analysis-was-right-nobody-acted</link><guid isPermaLink="false">https://reads.databites.tech/p/your-analysis-was-right-nobody-acted</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Tue, 09 Jun 2026 10:02:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/19dcc5f3-e317-4936-a10d-585c8c02f88d_728x728.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I once presented a model with 94% accuracy to a room of eight stakeholders.</p><p>Nobody asked about the model.</p><p>They asked: <em>&#8220;What does this mean for us next quarter?&#8221;</em></p><p>I didn&#8217;t have that answer ready.</p><p>That&#8217;s not a modeling problem.</p><blockquote><p>That&#8217;s a communication problem.</p></blockquote><p>Most data education teaches you to build correctly.</p><p>Almost none of it teaches you to explain what you bui&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/your-analysis-was-right-nobody-acted">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Mastering SQL Execution Order with JOINs]]></title><description><![CDATA[Mastering SQL Execution Order: How Queries Really Run Behind the Scenes]]></description><link>https://reads.databites.tech/p/mastering-sql-execution-order-with-fbd</link><guid isPermaLink="false">https://reads.databites.tech/p/mastering-sql-execution-order-with-fbd</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Sun, 07 Jun 2026 10:53:30 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f4c250ac-d319-4962-a19b-ebd904699056_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week we broke down SQL&#8217;s execution order: your clauses don&#8217;t run in the order you write them. <code>FROM</code> first, <code>SELECT</code> fifth.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1999acf4-d3b4-4e61-9460-4424a272ec6d&quot;,&quot;caption&quot;:&quot;Every SQL query runs in two different orders.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;You write SELECT first. SQL runs it fifth.&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:132707413,&quot;name&quot;:&quot;Josep Ferrer&quot;,&quot;bio&quot;:&quot;Outstand using data -- Data Science, Design and Tech Tech Writer @KDnuggets @DataCamp &#128073;&#127995;Inquiries in rfeers@gmail.com&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd196b5a6-59f2-46dd-99b3-e10ab1bbd27d_604x604.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-05-31T09:30:56.677Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/900e252c-6d06-4959-a1c7-056a30f82ccb_1465x1057.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://reads.databites.tech/p/sql-execution-order-declarative-language-data&quot;,&quot;section_name&quot;:&quot;Visual Bites&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:199918147,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:12,&quot;comment_count&quot;:0,&quot;publication_id&quot;:2143185,&quot;publication_name&quot;:&quot;databites.tech&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!nYiM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151064b1-1b76-4f6d-adaf-0efcacff80d1_281x281.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>With one table, that&#8217;s easy to hold in your head. Add a <code>JOIN</code>, and one question trips up almost everyone: when you combine two tables and then filter them, what runs first?</p><p>The <code>JOIN</code>. It builds the combined table before any filter touches a row, and missing that is the source of most multi-table bugs.</p><p>So today we trace it step by step, on one real query.</p><p>The order, with a JOIN in it</p><p><code>FROM</code> / <code>JOIN</code> &#8594; <code>WHERE</code> &#8594; <code>GROUP BY</code> &#8594; <code>HAVING</code> &#8594; <code>SELECT</code> &#8594; <code>ORDER BY</code> &#8594; <code>LIMIT</code></p><p>JOINs don&#8217;t add a new step. They live <em>inside</em> step one. Everything after that runs on the joined result, not on your original tables.</p><h3>The query</h3><p>Two tables. <code>employees</code> has each person&#8217;s name and field. <code>employee_company_data</code> has their salary and experience.</p><p>The goal: <strong>find the field with the highest average salary, among employees with 5+ years of experience.</strong></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;sql&quot;,&quot;nodeId&quot;:&quot;93813fcd-6a09-40eb-be0d-a64179ca2235&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-sql">SELECT
      e.Field,
      AVG(ed.Salary) AS Avg_salary,
      COUNT(e.ID)    AS num_answers
FROM employees AS e
LEFT JOIN employee_company_data AS ed
  ON e.ID = ed.ID
WHERE ed.Experience_years &gt; 5
GROUP BY e.Field
HAVING COUNT(e.ID) &gt;= 5
ORDER BY Avg_salary DESC
LIMIT 1</code></pre></div><p>Here's the order SQL actually runs it in.</p><h4><strong>#1 FROM - Defining the Base Table(s)</strong></h4><p>This is where SQL <strong>starts everything</strong>. It determines which table(s) we&#8217;re working with.</p><p>&#10145;&#65039; If we&#8217;re using <strong>JOINs</strong>, SQL <strong>processes them here</strong> before doing any filtering!</p><pre><code><code>FROM employees AS e
LEFT JOIN employee_company_data AS ed
  ON e.ID = ed.ID</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9cJy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9cJy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png 424w, https://substackcdn.com/image/fetch/$s_!9cJy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png 848w, https://substackcdn.com/image/fetch/$s_!9cJy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png 1272w, https://substackcdn.com/image/fetch/$s_!9cJy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9cJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png" width="1456" height="735" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:735,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:187869,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9cJy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png 424w, https://substackcdn.com/image/fetch/$s_!9cJy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png 848w, https://substackcdn.com/image/fetch/$s_!9cJy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png 1272w, https://substackcdn.com/image/fetch/$s_!9cJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e52e350-d90a-4915-9273-52aea946b89b_1781x899.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At this point, SQL <strong>combines</strong> the tables based on the JOIN condition. The <strong>type of JOIN</strong> (INNER, LEFT, RIGHT, FULL) affects which rows stay in the result set.</p><h4><strong>#2 WHERE - Filtering Rows</strong></h4><p>Now that we have a <strong>combined dataset</strong>, SQL <strong>filters</strong> individual rows <strong>before aggregation</strong>.</p><p>If you filter <strong>before</strong> the JOIN, you might accidentally remove rows you actually need.</p><pre><code><code>WHERE ed.Experience_years &gt; 5</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Rhe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Rhe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png 424w, https://substackcdn.com/image/fetch/$s_!9Rhe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png 848w, https://substackcdn.com/image/fetch/$s_!9Rhe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png 1272w, https://substackcdn.com/image/fetch/$s_!9Rhe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Rhe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png" width="1456" height="586" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:586,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:135935,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9Rhe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png 424w, https://substackcdn.com/image/fetch/$s_!9Rhe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png 848w, https://substackcdn.com/image/fetch/$s_!9Rhe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png 1272w, https://substackcdn.com/image/fetch/$s_!9Rhe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88cb2bdd-4e5d-4499-a21d-4b2fcf5fb90e_1624x654.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>#3 GROUP BY - Aggregating Data</strong></h4><p>Once SQL has the <strong>right rows</strong>, it groups similar data <strong>into categories</strong>.</p><p>This is especially useful when calculating <strong>averages, totals, or counts per category</strong>.</p><pre><code><code>GROUP BY e.Field</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s8t3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s8t3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png 424w, https://substackcdn.com/image/fetch/$s_!s8t3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png 848w, https://substackcdn.com/image/fetch/$s_!s8t3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!s8t3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s8t3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png" width="1456" height="961" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:961,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:208688,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!s8t3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png 424w, https://substackcdn.com/image/fetch/$s_!s8t3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png 848w, https://substackcdn.com/image/fetch/$s_!s8t3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!s8t3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21cf3f5d-7263-46cf-806a-b51f9fa5a69b_1624x1072.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>#4 HAVING - Filtering Groups</strong></h4><p>HAVING is like <strong>WHERE&#8217;s big sibling</strong>, but for <strong>grouped data</strong>.</p><p>&#10145;&#65039; It filters <strong>after</strong> GROUP BY, meaning it only works with <strong>aggregated values</strong>.</p><pre><code><code>HAVING COUNT(e.ID) &gt;= 5</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8S48!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8S48!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png 424w, https://substackcdn.com/image/fetch/$s_!8S48!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png 848w, https://substackcdn.com/image/fetch/$s_!8S48!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png 1272w, https://substackcdn.com/image/fetch/$s_!8S48!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8S48!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png" width="1456" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170167,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://reads.databites.tech/i/199916862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8S48!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png 424w, https://substackcdn.com/image/fetch/$s_!8S48!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png 848w, https://substackcdn.com/image/fetch/$s_!8S48!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png 1272w, https://substackcdn.com/image/fetch/$s_!8S48!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bfbccf6-5f1b-4dc1-871f-659dcb2c09e5_1704x918.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This keeps only fields with 5 employees or more, enough for the average to mean something.</p><h4><strong>#5 SELECT - Picking the Columns</strong></h4><p>Now SQL <strong>decides what to show</strong> in the final output.</p><p>You can only select columns that are in GROUP BY or are <strong>aggregated values</strong>.</p><pre><code><code>SELECT
Field,
AVG(ed.Salary)  AS Avg_salary,
COUNT(e.ID)     AS num_answers
</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZZey!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZZey!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png 424w, https://substackcdn.com/image/fetch/$s_!ZZey!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png 848w, https://substackcdn.com/image/fetch/$s_!ZZey!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png 1272w, https://substackcdn.com/image/fetch/$s_!ZZey!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZZey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png" width="1456" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150141,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://reads.databites.tech/i/199916862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZZey!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png 424w, https://substackcdn.com/image/fetch/$s_!ZZey!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png 848w, https://substackcdn.com/image/fetch/$s_!ZZey!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png 1272w, https://substackcdn.com/image/fetch/$s_!ZZey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70dac785-a77a-45de-a999-2911f99ec71f_1815x907.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>#6 ORDER BY - Sorting the Output</strong></h4><p>Now that we <strong>have our final dataset</strong>, SQL <strong>sorts the results</strong> based on our preferences.</p><pre><code><code>ORDER BY Avg_salary DESC</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KA7B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KA7B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png 424w, https://substackcdn.com/image/fetch/$s_!KA7B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png 848w, https://substackcdn.com/image/fetch/$s_!KA7B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png 1272w, https://substackcdn.com/image/fetch/$s_!KA7B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KA7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png" width="1169" height="886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:1169,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:137440,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://reads.databites.tech/i/199916862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KA7B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png 424w, https://substackcdn.com/image/fetch/$s_!KA7B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png 848w, https://substackcdn.com/image/fetch/$s_!KA7B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png 1272w, https://substackcdn.com/image/fetch/$s_!KA7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db73f1a-df1a-4441-a986-952cca0c5e56_1169x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This arranges fields <strong>from highest to lowest average salary</strong>.</p><h4><strong>#7 LIMIT - Keeping it Concise &#128290;</strong></h4><p>If we only want to see a single result, we <strong>limit the number of rows</strong> returned.</p><pre><code><code>LIMIT 1</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6ATY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6ATY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png 424w, https://substackcdn.com/image/fetch/$s_!6ATY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png 848w, https://substackcdn.com/image/fetch/$s_!6ATY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png 1272w, https://substackcdn.com/image/fetch/$s_!6ATY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6ATY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png" width="1169" height="841" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:841,&quot;width&quot;:1169,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:110285,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://reads.databites.tech/i/199916862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6ATY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png 424w, https://substackcdn.com/image/fetch/$s_!6ATY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png 848w, https://substackcdn.com/image/fetch/$s_!6ATY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png 1272w, https://substackcdn.com/image/fetch/$s_!6ATY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52ffe54-ff7a-4ea2-9c48-f1c8d15ad266_1169x841.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And we land on the answer: Engineering, the field with the highest average salary.</p><p>Same query, a completely different order from the one on the page, with every step running on what the one before it produced. That is execution order in action.</p><p>Once you can picture that flow, the JOIN mistakes that trip most people up become easy to spot before they happen. Here are three.</p><h3><strong>Three mistakes this prevents</strong></h3><ol><li><p><strong>Filtering before you picture the join.</strong> A <code>JOIN</code> can add or drop rows. Build the combined table in your head first, then reason about <code>WHERE</code>.</p></li><li><p><strong>Using </strong><code>WHERE</code><strong> for grouped data.</strong> Any condition on <code>COUNT</code>, <code>SUM</code>, or <code>AVG</code> belongs in <code>HAVING</code>. <code>WHERE</code> runs before the aggregate exists.</p></li><li><p><strong>Selecting ungrouped columns.</strong> After <code>GROUP BY</code>, every column in <code>SELECT</code> must be in the <code>GROUP BY</code> or wrapped in an aggregate.</p></li></ol><p><strong>Build the joined table first, then filter, group, and filter the groups. Hold that order and multi-table queries stop surprising you.</strong></p><p>Here's this week's cheatsheet &#128071;&#127995;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Aa1Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png 424w, https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png 848w, https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png 1272w, https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png" width="1456" height="1779" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1779,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2357767,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://reads.databites.tech/i/199916862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png 424w, https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png 848w, https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png 1272w, https://substackcdn.com/image/fetch/$s_!Aa1Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5041c7b-dd3b-444a-87ab-4c03ba613912_3693x4512.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8212;Josep</p><div><hr></div><h2>Are you still here? &#129488;</h2><p>&#128073;&#127995; I want this newsletter to be useful, so please let me know your feedback!</p><div class="poll-embed" data-attrs="{&quot;id&quot;:544938}" data-component-name="PollToDOM"></div><p>Before you go,<strong> tap the &#128154; button at the bottom of this email to show your support</strong>&#8212;<em>it really helps and means a lot!</em></p><p><strong>Any doubt? Let&#8217;s start a conversation! &#128071;&#127995;</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.databites.tech/p/the-transformers-architecture/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.databites.tech/p/the-transformers-architecture/comments"><span>Leave a comment</span></a></p><div><hr></div><h2>Want to get more of my content? &#128587;&#127995;&#8205;&#9794;&#65039;</h2><p>Reach me on:</p><ul><li><p><strong><a href="https://www.linkedin.com/in/iamjosepferrer/">LinkedIn</a> and</strong> <strong><a href="https://x.com/iamjosepferrer">X (Twitter)</a> to get daily posts about Data Science.</strong></p></li><li><p>My <strong><a href="https://medium.com/@iamjosepferrer">Medium</a></strong><a href="https://medium.com/@rfeers"> </a><strong><a href="https://medium.com/@rfeers">Blog</a></strong> to learn more about Data Science, Machine Learning, and AI.</p></li><li><p>Just email me at rfeers@gmail.com for any inquiries or to ask for help! &#129299;</p></li></ul>]]></content:encoded></item><item><title><![CDATA[You're learning data science. You're not becoming one.]]></title><description><![CDATA[I once spent three weeks learning gradient descent.]]></description><link>https://reads.databites.tech/p/youre-learning-data-science-youre</link><guid isPermaLink="false">https://reads.databites.tech/p/youre-learning-data-science-youre</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Tue, 02 Jun 2026 10:01:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c0d30fdc-0d1c-4cc6-9b39-d34473f68252_1852x1862.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I once spent three weeks learning gradient descent.</p><p>Watched the videos. Did the math. Understood the intuition behind every update step.</p><p>Then I sat in front of a real dataset. Messy, incomplete, and half-documented. </p><blockquote><p>I had no idea what to do first.</p></blockquote><p>That&#8217;s the gap nobody talks about.</p><p><strong>Learning data science is something you can measure.</strong></p><p>Courses completed. Concep&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/youre-learning-data-science-youre">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[You write SELECT first. SQL runs it fifth.]]></title><description><![CDATA[The hidden order your database uses to run every query, and why it explains your most confusing errors.]]></description><link>https://reads.databites.tech/p/sql-execution-order-declarative-language-data</link><guid isPermaLink="false">https://reads.databites.tech/p/sql-execution-order-declarative-language-data</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Sun, 31 May 2026 09:30:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/900e252c-6d06-4959-a1c7-056a30f82ccb_1465x1057.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every SQL query runs in two different orders.</p><p><strong>The one you wrote. And the one your database actually uses to run it.</strong></p><p>That&#8217;s it. Strip away the syntax, and that&#8217;s what&#8217;s happening underneath: the clauses you typed top to bottom get quietly reshuffled into a completely different sequence before a single row is touched.</p><p>Most people learn to <em>write</em> SQL. Almost n&#8230;</p>
      <p>
          <a href="https://reads.databites.tech/p/sql-execution-order-declarative-language-data">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[You don't have a consistency problem]]></title><description><![CDATA[When I moved to Rotterdam last year, I started three new things in four months.]]></description><link>https://reads.databites.tech/p/you-dont-have-a-consistency-problem</link><guid isPermaLink="false">https://reads.databites.tech/p/you-dont-have-a-consistency-problem</guid><dc:creator><![CDATA[Josep Ferrer]]></dc:creator><pubDate>Tue, 26 May 2026 10:03:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0d43b5f1-08e7-4d4c-961b-be37fc9155e0_1518x1518.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I moved to Rotterdam last year, I started three new things in four months.</p><p><em>A new research project. </em></p><p><em>A new side concept I never shipped. </em></p><p><em>A new approach to content I mapped out in a notebook and never opened again.</em></p><blockquote><p><em>Each one felt like momentum. Each one was actually a reset.</em></p></blockquote><p>This is what happens without a system: you don&#8217;t stop working. </p><blockquote><p><strong>You just keep star&#8230;</strong></p></blockquote>
      <p>
          <a href="https://reads.databites.tech/p/you-dont-have-a-consistency-problem">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>