<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Wendy Calderon</title>
    <description>The latest articles on DEV Community by Wendy Calderon (@wendisha).</description>
    <link>https://dev.to/wendisha</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F148279%2F07c98e4f-1c12-4bdb-98fc-62fa1c670d73.jpeg</url>
      <title>DEV Community: Wendy Calderon</title>
      <link>https://dev.to/wendisha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wendisha"/>
    <language>en</language>
    <item>
      <title>SQL: Timestamps</title>
      <dc:creator>Wendy Calderon</dc:creator>
      <pubDate>Mon, 06 Jan 2020 23:47:56 +0000</pubDate>
      <link>https://dev.to/wendisha/sql-timestamps-4fd6</link>
      <guid>https://dev.to/wendisha/sql-timestamps-4fd6</guid>
      <description>&lt;p&gt;The &lt;code&gt;TIMESTAMP&lt;/code&gt; data type holds values that contain both date and time, fixed at 19 characters. The format of a &lt;code&gt;TIMESTAMP&lt;/code&gt; is 'YYYY-MM-DD HH:MM:SS'&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://techterms.com/definition/dbms" rel="noopener noreferrer"&gt;DBMSs&lt;/a&gt; such as MySQL, &lt;code&gt;DATETIME&lt;/code&gt; is a supported data type that, just like &lt;code&gt;TIMESTAMP&lt;/code&gt;, is used to hold date and time values, but they're not entirely the same for the following reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Size: &lt;code&gt;DATETIME&lt;/code&gt; requires a few more bytes for data storing than &lt;code&gt;TIMESTAMP&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;As specified in the MySQL documentation, MySQL converts &lt;code&gt;TIMESTAMP&lt;/code&gt; values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval, which does not occur for other types such as &lt;code&gt;DATETIME&lt;/code&gt;. This is particularly convenient when working with different time zones.&lt;/li&gt;
&lt;li&gt;Different supported ranges: '1000-01-01 00:00:00' to '9999-12-31 23:59:59' for &lt;code&gt;DATETIME&lt;/code&gt;, '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC for &lt;code&gt;TIMESTAMP&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Retrieving data from &lt;code&gt;TIMESTAMP&lt;/code&gt;:&lt;/strong&gt;&lt;br&gt;
In order to fetch information from a &lt;code&gt;TIMESTAMP&lt;/code&gt; object, we can use the &lt;code&gt;extract()&lt;/code&gt; function, for which we specify the field from &lt;code&gt;TIMESTAMP&lt;/code&gt; we want. Examples of this field would be: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fpps0f5f6abl8z3t9ek5b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fpps0f5f6abl8z3t9ek5b.png" alt="Timestamp fields examples"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's consider the following table to work on some examples:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fjio9dkkny7whfh94mmit.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fjio9dkkny7whfh94mmit.png" alt="Table for timestamp examples"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All payments were made in november, so let's grab these bills along with the days they were paid:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F9awzlpras90fqi5zhs2r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F9awzlpras90fqi5zhs2r.png" alt="Timestamp query"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We add the AS statement to name the resulting column from using EXTRACT.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fy8ello95nzl9ida6gxk6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fy8ello95nzl9ida6gxk6.png" alt="Timestamp query results"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If our bills table was larger, including payments to these bills all throughout the year, we could implement extract() and an aggregate function (SUM) to show, for example, the total amount of money paid in bills by month, with a query similar to this one:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fehjdu7ol7qn3lvfxp6aa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fehjdu7ol7qn3lvfxp6aa.png" alt="Another timestamp query"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The larger our databases, the more ways available to retrieve info!&lt;br&gt;
Have fun!&lt;/p&gt;

</description>
      <category>mysql</category>
      <category>postgres</category>
      <category>timestamp</category>
      <category>sql</category>
    </item>
    <item>
      <title>SQL: Union Operator</title>
      <dc:creator>Wendy Calderon</dc:creator>
      <pubDate>Mon, 02 Dec 2019 13:53:47 +0000</pubDate>
      <link>https://dev.to/wendisha/sql-union-operator-2pmc</link>
      <guid>https://dev.to/wendisha/sql-union-operator-2pmc</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZuqtCeW5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/f5gtqs5djuae1i2ou2p4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZuqtCeW5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/f5gtqs5djuae1i2ou2p4.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
In our previous SQL posts we learned how to combine tables using the Join clause to produce results based on common columns among these tables. In this post, we will be talking about the &lt;strong&gt;UNION&lt;/strong&gt; operator, which in simple words is used to combine the results of different &lt;code&gt;SELECT&lt;/code&gt; statements into one results set. The following image shows it's basic syntax:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ckJn45Dl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/habsyyxqtw45la908q7w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ckJn45Dl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/habsyyxqtw45la908q7w.png" alt="Union operator basic syntax"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;UNION&lt;/strong&gt; operator comes with some requirements that must be met in order to be able to implement it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All &lt;code&gt;SELECT&lt;/code&gt; statements or queries must have the same number of columns.&lt;/li&gt;
&lt;li&gt;Said columns must appear in the same order in all queries.&lt;/li&gt;
&lt;li&gt;These columns' data types must be the same or compatible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's consider the following tables to study this operator:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QO0UxJNs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3tbdhff12hxsn9vynyq8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QO0UxJNs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3tbdhff12hxsn9vynyq8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let's use it to combine these tables into one:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gq6GIWOl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zwcgcovzwtmqgfn9lliu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gq6GIWOl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zwcgcovzwtmqgfn9lliu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The results &lt;strong&gt;might&lt;/strong&gt; look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XptCw1I2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/xv9s984eozuikg70js28.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XptCw1I2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/xv9s984eozuikg70js28.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice we mentioned that the results &lt;strong&gt;might&lt;/strong&gt; look like the previous image, and that's because we presented these results sorted by &lt;strong&gt;bill&lt;/strong&gt;, but without an ORDER BY clause, the order of these results could vary.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rRJ_JICY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/v4z5styl0u2self3644n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rRJ_JICY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/v4z5styl0u2self3644n.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When we use the &lt;strong&gt;UNION&lt;/strong&gt; clause, all duplicate records are removed. If we want to keep these records, we should use the &lt;strong&gt;UNION ALL&lt;/strong&gt; statement, which includes them in the final results set.&lt;/p&gt;

&lt;p&gt;Had we used &lt;strong&gt;UNION ALL&lt;/strong&gt; in our previous example, the columns &lt;strong&gt;mortgage&lt;/strong&gt; and &lt;strong&gt;cellphones&lt;/strong&gt; would have appeared twice in the results set.&lt;/p&gt;

&lt;p&gt;Learn about SQL Inner Join, &lt;a href="https://dev.to/wendisha/sql-inner-join-4eb2"&gt;here&lt;/a&gt;.&lt;br&gt;
Learn about SQL Outer Joins, &lt;a href="https://dev.to/wendisha/sql-outer-joins-2cj7"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>postgres</category>
      <category>programming</category>
    </item>
    <item>
      <title>SQL: Outer Joins</title>
      <dc:creator>Wendy Calderon</dc:creator>
      <pubDate>Sat, 30 Nov 2019 15:12:23 +0000</pubDate>
      <link>https://dev.to/wendisha/sql-outer-joins-2cj7</link>
      <guid>https://dev.to/wendisha/sql-outer-joins-2cj7</guid>
      <description>&lt;p&gt;In our second part of learning how to work with the SQL Join clause, we will focus on the Outer Joins. The first part, where we talk about Inner Joins, can be found &lt;a href="https://dev.to/wendisha/sql-inner-join-4eb2"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So, what is an Outer Join? Just like an Inner Join, an Outer Join is used to query databases combining tables based on a related column. Different from an Inner Join, an Outer Join could be used to return data that is not common among tables.&lt;/p&gt;

&lt;p&gt;There are various types of Outer Joins, and we will explain them based on examples. For said examples, let's consider the same two tables of our previous post:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SFM8oRFW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/5dls2zpfi2twd3vi43md.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SFM8oRFW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/5dls2zpfi2twd3vi43md.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Full Outer Join:&lt;/strong&gt; This version of the Join clause will return all records from both tables, adding &lt;code&gt;null&lt;/code&gt; where a match isn't present. In the next image we use the Venn Diagram to graphically explain the result of joining these two tables with the Full Outer Join clause, or simply called Full Join.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hpBYc4qw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/cllik0rma34djo89z3st.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hpBYc4qw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/cllik0rma34djo89z3st.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Let's fetch all records from out pets' names, the doctors who have seen them, and the date they were seen, implementing an Outer Join. The syntax would look like the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Yg_WqaeB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ae52xzs7qw6ose7bfj6m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yg_WqaeB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ae52xzs7qw6ose7bfj6m.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since Full Joins are not supported on MySQL, here's the syntax to be used in this &lt;a href="https://www.techopedia.com/definition/24361/database-management-systems-dbms"&gt;DBMS&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6-ZtNMUl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/v6mwalyfsbsu4qtsr60e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6-ZtNMUl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/v6mwalyfsbsu4qtsr60e.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The results would be the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9DViPDyh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/yubf2mstzxgc2s05qyk6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9DViPDyh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/yubf2mstzxgc2s05qyk6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, we have two rows for our cat Daisy, who was seen by two different doctors and/or on two different dates. Our fish Jules has not been seen, that's why it doesn't return any information about a doctor or date, and these fields are filled with &lt;code&gt;null&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Left Outer Join:&lt;/strong&gt; This Join, also known as Left Join, returns all records from the first table (or the &lt;strong&gt;left&lt;/strong&gt; table) with the matches from the second table (or &lt;strong&gt;right&lt;/strong&gt; table), adding &lt;code&gt;null&lt;/code&gt; where no matches are found.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w5qQ15_0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/r9ksuftac6qpvp1eq3rr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w5qQ15_0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/r9ksuftac6qpvp1eq3rr.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
If we want to see which species have been seen by which doctors, we can query our database with a Left Join to return these results.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O_sEvZxo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/e9ov953z7sffts877ccl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O_sEvZxo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/e9ov953z7sffts877ccl.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LTp3Y-aT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/9idh4hinhu6s0y2ktnnz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LTp3Y-aT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/9idh4hinhu6s0y2ktnnz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We see all records from our pets table with it's corresponding matches from the checkups table, and blank spaces for those records from pets without a match in checkups. Remember, these blank spaces are to be considered as &lt;code&gt;null&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Right Outer Join&lt;/strong&gt; works the same as the Left Join, but inverting the tables: it will return all records of the right or second table, with matches from the left or first table, and &lt;code&gt;null&lt;/code&gt; values where no match is found. If we were to replace the previous query with a Right Join, it would return the same results, except for the last row, because the &lt;code&gt;null&lt;/code&gt; value corresponds to the checkups table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Left Outer Join with WHERE clause:&lt;/strong&gt; Remember when we mentioned at the beginning of this post that one difference between the Inner Join and the Outer Join is that the last one allows us to return values that are not matches between both tables? This can be achieved by adding a WHERE statement to our query.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hUwRbM0y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2s6o5v7leg053eoep7em.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hUwRbM0y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2s6o5v7leg053eoep7em.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
So let's say we want to see which of our pets has not had a checkup. We know, from our previous examples, that for our fish Jules we received &lt;code&gt;null&lt;/code&gt; values when trying to return similar data. We could use this value to comform our new query, so that the result will show that Jules has not been checked:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N3QIn2vK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/a7jylcx4qmz0pk2ca555.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N3QIn2vK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/a7jylcx4qmz0pk2ca555.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jZhfZj7P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/621gev3fne6u1817bnof.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jZhfZj7P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/621gev3fne6u1817bnof.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pretty cool, huh? And the same goes for the &lt;strong&gt;Right Outer Join with a WHERE clause&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full Outer Join with WHERE clause:&lt;/strong&gt; This is the type of Join that allows us to  return the records unique to both tables. In other words, we would be getting everything but the matches.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---wvzpdlT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/eru1bkd2v9jwov0ags50.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---wvzpdlT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/eru1bkd2v9jwov0ags50.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--36tjZMfM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/pnnk2z8sv8538yby1b63.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--36tjZMfM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/pnnk2z8sv8538yby1b63.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
We select the columns of our interest from the &lt;strong&gt;pets&lt;/strong&gt;  table, Full Outer Joining &lt;strong&gt;checkups&lt;/strong&gt; on the column they both have in common, WHERE these column's records are &lt;code&gt;null&lt;/code&gt;, meaning where they don't have a value.&lt;/p&gt;

&lt;p&gt;Again, MySQL does not support Full Joins, so the query would be:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CKWxqQat--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/uz37fvjsl8ig6p21tpd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CKWxqQat--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/uz37fvjsl8ig6p21tpd5.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
And our results:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vXL7Fw3R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/otdbr14luuqt5oxzu9yj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vXL7Fw3R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/otdbr14luuqt5oxzu9yj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Our tiny example only includes one record that is unique to one of the tables, the &lt;strong&gt;pets&lt;/strong&gt; table to be exact, so this is the reason for our result.&lt;/p&gt;

&lt;p&gt;Outer Joins are a powerful tool at our disposal, and hopefully these lines brought some clarity on the matter.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>programming</category>
      <category>postgres</category>
      <category>database</category>
    </item>
    <item>
      <title>SQL: Inner Join</title>
      <dc:creator>Wendy Calderon</dc:creator>
      <pubDate>Mon, 18 Nov 2019 13:26:19 +0000</pubDate>
      <link>https://dev.to/wendisha/sql-inner-join-4eb2</link>
      <guid>https://dev.to/wendisha/sql-inner-join-4eb2</guid>
      <description>&lt;p&gt;In SQL we have various powerful clauses that make managing databases possible, but one that usually brings confusion along with it's functionality, is the JOIN clause.&lt;/p&gt;

&lt;p&gt;The JOIN clause is used in a relational database to select records from two or more tables that share at least one column in common. There are different ways of joining tables, and in this post we will be discussing, through the use of an example, the one corresponding to the INNER JOIN.&lt;/p&gt;

&lt;p&gt;INNER JOIN will compare the specified tables and select those rows that have matching values. It could be considered the default JOIN type, since we would get the same result without specifying the keyword INNER.&lt;/p&gt;

&lt;p&gt;It's syntax is the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdjw2ld9fjvp0pmjlrhv0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdjw2ld9fjvp0pmjlrhv0.png" alt="Inner Join syntax"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the SELECT clause, we specify the columns we want to select, by chaining them to the table they correspond. Pro-tip: we only do this for columns that are not specific to one table. If we want to select a column that is specific to just one table, we don't have to specify the table name.&lt;/p&gt;

&lt;p&gt;Now let's explain how it works, based on an example. The following image shows the tables to be considered.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F1vausock9nmpr5x2uagc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F1vausock9nmpr5x2uagc.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
In this example, we see that in the pets table we have a pet_id column that is common to the checkups table. The pet_id column in the pets table is referred to as &lt;a href="https://www.w3schools.com/sql/sql_primarykey.asp" rel="noopener noreferrer"&gt;Primary Key&lt;/a&gt;, and the one in the checkups table as &lt;a href="https://www.w3schools.com/sql/sql_foreignkey.asp" rel="noopener noreferrer"&gt;Foreign Key&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The next image graphically explains the result of joining these two tables with the INNER clause, referencing the Venn Diagram.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fkrn2h7ux7dtbg8l17j27.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fkrn2h7ux7dtbg8l17j27.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, considering the tables above, if we wanted to get our pets names, their species and the date they had a checkup, the query would look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdqrfb0j7ulfovfdlgbsu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdqrfb0j7ulfovfdlgbsu.png" alt="Example query"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's break it down: We select the columns we want, and since they are unique columns to each of the tables, we don't have to chain them to their tables. We select them from pets, and join the checkups table on the column both tables have in common (remember, the INNER keyword is optional). We could've selected from checkups and joined pets, as long as we join them on their common field, we would be getting the same result.&lt;/p&gt;

&lt;p&gt;In a following post, we'll discuss the other ways available to join tables. See you there!&lt;/p&gt;

&lt;p&gt;E.T.A.: The following post, where we discuss Outer Joins, can be found &lt;a href="https://dev.to/wendisha/sql-outer-joins-2cj7"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>programming</category>
      <category>postgres</category>
      <category>database</category>
    </item>
    <item>
      <title>Why learning SQL is so relevant to Developers</title>
      <dc:creator>Wendy Calderon</dc:creator>
      <pubDate>Mon, 11 Nov 2019 14:35:18 +0000</pubDate>
      <link>https://dev.to/wendisha/why-learning-sql-is-so-relevant-to-developers-326e</link>
      <guid>https://dev.to/wendisha/why-learning-sql-is-so-relevant-to-developers-326e</guid>
      <description>&lt;p&gt;A few weeks ago, whenever I heard the word SQL, my hands started to sweat. I knew it had to do with the fact that I had not been introduced to it the proper way, but at the same time, I was not aware of how important this skill is to further my career. I did some research on the matter, while adamantly sharpening up said skill, and thought it is worth sharing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xe7jBv93--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1500/1%2A5kfKaHgeMNOYszSBVtU-fA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xe7jBv93--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1500/1%2A5kfKaHgeMNOYszSBVtU-fA.png" alt="SQL image"&gt;&lt;/a&gt;Credits: csc.barnard.edu&lt;/p&gt;

&lt;p&gt;What is SQL? In simple words, it is the language used to interact with &lt;a href="https://en.wikipedia.org/wiki/Relational_database"&gt;relational databases&lt;/a&gt;. It stands for Structured Query Language and it has been around for over 40 years. This interaction is possible through a Database Management System, a software that handles the storage, retrieval, and updating of data in a computer system.&lt;/p&gt;

&lt;p&gt;As our applications and/or companies grow, more and more data needs to be managed, and this applies to basically any scenario. Imagine a company growing in size, that is keeping track of it’s employees information in a spreadsheet, storing personal data in one table, clock-in/clock-out times in another table, vacation schedules in a different table, etc. A simple task like getting the emergency contact information of the employee who took a break at 3:15pm today could take double, triple, &lt;em&gt;you name it&lt;/em&gt;, the time a SQL query would take to retrieve this data from a relational database. This spreadsheet is an example of a &lt;a href="https://en.wikipedia.org/wiki/Flat-file_database"&gt;flat database&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;SQL is the most popular database query language, and since we have covered why storing large sets of data in a relational database is convenient, it’s clear to see why adding it to one’s skill set is important. It’s learning curve is also slight once you find the right resources.&lt;/p&gt;

&lt;p&gt;Another important reason to consider learning SQL is the revenue; not only is this skill in high demand, it also pays well. According to Glassdoor, the average pay for a SQL Developer is approximately $84k.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4xHojeve--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1566/1%2AE16heq1L3j54co-FxTE13Q.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4xHojeve--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1566/1%2AE16heq1L3j54co-FxTE13Q.jpeg" alt="SQL Developer Salaries"&gt;&lt;/a&gt;Credits: glassdoor.com&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://insights.stackoverflow.com/survey/2019"&gt;Stack Overflow’s 2019 Developer Survey&lt;/a&gt; results, SQL ranks as the third most popular technology among professional Developers, and it’s been in the top 5 since this breakdown started back in 2015.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_HrNPV6X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1171/1%2ApwHnqzf9ja1bkA-VMBDTJw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_HrNPV6X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1171/1%2ApwHnqzf9ja1bkA-VMBDTJw.jpeg" alt="Stack Overflow's 2019 Developer Survey"&gt;&lt;/a&gt;Credits: Stack Overflow&lt;/p&gt;

&lt;p&gt;When it comes to Database Management Systems, the 5 most popular in 2019 according to the same survey are &lt;a href="https://www.mysql.com/"&gt;MySQL&lt;/a&gt;, &lt;a href="https://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt;, &lt;a href="https://www.microsoft.com/en-us/sql-server/default.aspx"&gt;Microsoft SQL Server&lt;/a&gt;, &lt;a href="https://www.sqlite.org/index.html"&gt;SQLite&lt;/a&gt; and &lt;a href="https://www.mongodb.com/"&gt;MongoDB&lt;/a&gt;, in that same order.&lt;/p&gt;

&lt;p&gt;To sum up, just like any other technical skill in the Development field, SQL helps solve important problems in any organization that deals with large amounts of data. It is also an intuitive query language, in high demand and with great profit.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>development</category>
      <category>sql</category>
      <category>techskills</category>
    </item>
    <item>
      <title>Scratch: Not just for kids!</title>
      <dc:creator>Wendy Calderon</dc:creator>
      <pubDate>Mon, 04 Nov 2019 13:47:26 +0000</pubDate>
      <link>https://dev.to/wendisha/scratch-not-just-for-kids-1nbc</link>
      <guid>https://dev.to/wendisha/scratch-not-just-for-kids-1nbc</guid>
      <description>&lt;p&gt;Scratch is a free web-based graphical programming language created by the Massachusetts Institute of Technology Media Lab (MIT Media Lab), geared primarily towards children, but don't let that fool you, it is challenging enough for adults as well.&lt;/p&gt;

&lt;p&gt;I was introduced to Scratch while seeking the CS50 Certification from Harvard University. In the first week (week 0), we are asked to build a game, interactive story or animation using this block-based visual programming language.&lt;/p&gt;

&lt;p&gt;To start working on your first project, sign up to their &lt;a href="https://scratch.mit.edu/"&gt;site&lt;/a&gt;, click on the &lt;strong&gt;create&lt;/strong&gt; button and let the fun begin! Your browser should be showing something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JUNz_cP2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/kkgdsn38csem8lo5b582.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JUNz_cP2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/kkgdsn38csem8lo5b582.jpg" alt="About to start creating on Scratch!"&gt;&lt;/a&gt;&lt;br&gt;
The toolbar at the top will allow you to change languages, save your work (even to your computer), access short tutorials, rename your project, share it, and see it live. &lt;strong&gt;Fun fact:&lt;/strong&gt; Scratch has been translated into 70+ languages!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sprites:&lt;/strong&gt; These are characters that we can animate in our story. They go from the &lt;em&gt;default&lt;/em&gt; cat we see, to apples, toys, you name it! To add a new sprite, click on the cat-looking icon at the bottom right-hand corner. We also have to option to load our own sprite, or draw/paint it! Most sprites have more than one costume, this is what allows us simulate a walking cat, or a dancing ballerina, in other words, changing our sprites' costumes will let us animate them. When we click on a sprite, we'll also have the option to rotate them, make them visible or not at a certain point, or modify how they look.&lt;/p&gt;

&lt;p&gt;Another cool feature we could add to our sprites, is sound! When you click on the sound tab you will see the pre-defined sounds each sprite has, but will also be able to add new ones by clicking on the speakers-looking icon on the bottom left-hand corner. You can choose sounds from the ones already on Scratch, or upload, even record your own! All these sounds can then be edited, making them faster, slower, fade in or out, reverse them, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backdrops:&lt;/strong&gt; These are the backgrounds of your project. You could choose from the pre-loaded ones, draw or upload your own. The backdrops can be changed at any point throughout your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Code tab:&lt;/strong&gt; Here's where we put together scripts to animate our sprites and compose our game or animation. All the blocks are draggable and act as magnets that easily connect to one another.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Motion: Here we can control how or where to our sprites move, by specifying the horizontal and vertical axis (x and y), instructing it to "look" to the mouse pointer, etc.&lt;/li&gt;
&lt;li&gt;Looks: Just as it's name denotes, here we can edit a sprite's appearance. Also, we can make our sprite "say" or "think" something, by showing a dialog box to the user. This coding section is the one that allows us to control the visibility of a sprite and costumes/backdrop changes.&lt;/li&gt;
&lt;li&gt;Sounds: Control how and when a sound appears.&lt;/li&gt;
&lt;li&gt;Event: The blocks in this section are the ones we use to start a script, that's why they cannot be connected to the bottom or another block, except for the &lt;strong&gt;broadcast&lt;/strong&gt; ones, which allow a script to send a signal to another (or others), to possibly start or end an action.&lt;/li&gt;
&lt;li&gt;Control: Lists the options to control actions by adding loops, conditionals, wait time, etc.&lt;/li&gt;
&lt;li&gt;Sensing: Cool control feature to wait for specific signals to proceed with whatever action we've instructed our sprite.&lt;/li&gt;
&lt;li&gt;Operators: Perfom basic math operations, as well as provide ranges to pick a random value, add logical operations that result in booleans, etc
&lt;/li&gt;
&lt;li&gt;Variables: Just like just about any other programming language, variables allow us to store values in them. &lt;/li&gt;
&lt;li&gt;My Blocks: Think of blocks as the methods that help us keep our code DRY (&lt;em&gt;Do Not Repeat Yourself&lt;/em&gt;), where we define those actions that will probably be used more than once within a script.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hopefully these notes will inspire you to build the next Scratch project! It's fun, visually pleasant and challenging. Enjoy!&lt;/p&gt;

</description>
      <category>scratch</category>
      <category>programming</category>
      <category>education</category>
      <category>kidsandtech</category>
    </item>
    <item>
      <title>binary: what? why? how?</title>
      <dc:creator>Wendy Calderon</dc:creator>
      <pubDate>Mon, 28 Oct 2019 14:32:39 +0000</pubDate>
      <link>https://dev.to/wendisha/binary-what-why-how-3di7</link>
      <guid>https://dev.to/wendisha/binary-what-why-how-3di7</guid>
      <description>&lt;p&gt;In simple words, &lt;strong&gt;binary&lt;/strong&gt; refers to something that is composed of or relates to two things; something that can be broken into two groups or categories. In the context of computing and mathematics, &lt;strong&gt;binary&lt;/strong&gt; is a numeric system consisting of just 0's and 1's. &lt;/p&gt;

&lt;p&gt;Everything needs to be translated into these 0's and 1's, so our computers get the appropiate signals to respond accordingly to the instructions and/or tasks we want them to perform. This translation is possible thanks to, among other components, the thousands, even billions of tiny transistors that when receiving voltage turn ON, representing 1's, and in the absence of said voltage turn OFF, representing 0's.&lt;/p&gt;

&lt;p&gt;So now that we know what &lt;strong&gt;binary&lt;/strong&gt; is, and why it is relevant to the computing world, let's look at how we can convert the numbers we are used to working with, to the Binary System.&lt;/p&gt;

&lt;p&gt;These numbers that we use on a daily basis, are part of the Decimal System, based on powers of 10.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6dkwi97jd78764f6jnnp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6dkwi97jd78764f6jnnp.png" alt="Credits: msgarciamath.com"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As per the previous image, we can see that if we have a number such as &lt;strong&gt;532&lt;/strong&gt;, it is the result of the following operation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fudk0w0qanutdlufg1shg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fudk0w0qanutdlufg1shg.jpg" alt="Decimal Sytem Example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let's say we have a sequence of digits representing a binary number, such as &lt;strong&gt;101&lt;/strong&gt;. How can we turn this number into our known "base ten" numbers? While the Decimal System uses powers of ten, the Binary System uses powers of two:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3dmpitavzmh2qxewusym.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3dmpitavzmh2qxewusym.jpg" alt="Binary Sytem Example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So knowing that the Binary System is "base two", we could convert numbers to "base ten" by considering their position from left to right, and summing up the values where a 1 is present.&lt;/p&gt;

&lt;p&gt;Each of these binary digits are considered bits, and 8 bits conform a byte. Do these terms sound familiar? More on this on another post :)&lt;/p&gt;

</description>
      <category>binary</category>
      <category>computerscience</category>
      <category>hardware</category>
      <category>numericsystem</category>
    </item>
  </channel>
</rss>
