{"id":2546,"date":"2023-06-27T17:18:16","date_gmt":"2023-06-27T17:18:16","guid":{"rendered":"https:\/\/codeinsightacademy.com\/blog\/?p=2546"},"modified":"2023-06-27T17:18:20","modified_gmt":"2023-06-27T17:18:20","slug":"mysql-crash-course","status":"publish","type":"post","link":"https:\/\/codeinsightacademy.com\/blog\/sql\/mysql-crash-course\/","title":{"rendered":"mysql crash course"},"content":{"rendered":"\n<h2>Day 1: Basic SQL Queries<\/h2>\n\n\n\n<p>Topics:<\/p>\n\n\n\n<ol><li>Introduction to SQL and relational databases<\/li><li>Creating a database and tables<\/li><li>Inserting data into tables<\/li><li>Retrieving data with SELECT statement<\/li><li>Filtering and sorting data<\/li><\/ol>\n\n\n\n<p>Assignments:<\/p>\n\n\n\n<ol><li>Create a database named &#8220;mydb&#8221;.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   CREATE DATABASE mydb;<\/pre>\n\n\n\n<ol start=\"2\"><li>Create a table named &#8220;users&#8221; with columns id, name, age, city, added_at, and updated_at.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   CREATE TABLE users (\n     id INT PRIMARY KEY,\n     name VARCHAR(50),\n     age INT,\n     city VARCHAR(50),\n     added_at DATETIME,\n     updated_at DATETIME\n   );<\/pre>\n\n\n\n<ol start=\"3\"><li>Insert 5 records into the &#8220;users&#8221; table.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   INSERT INTO users (id, name, age, city, added_at, updated_at)\n   VALUES\n     (1, 'John', 25, 'Mumbai', '2022-01-01', '2022-01-02'),\n     (2, 'Jane', 30, 'Delhi', '2022-01-03', '2022-01-04'),\n     (3, 'Mike', 35, 'Bangalore', '2022-01-05', '2022-01-06'),\n     (4, 'Lisa', 28, 'Chennai', '2022-01-07', '2022-01-08'),\n     (5, 'David', 32, 'Kolkata', '2022-01-09', '2022-01-10');<\/pre>\n\n\n\n<ol start=\"4\"><li>Retrieve all records from the &#8220;users&#8221; table.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT * FROM users;<\/pre>\n\n\n\n<ol start=\"5\"><li>Retrieve the names of users whose age is greater than 30.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT name FROM users WHERE age > 30;<\/pre>\n\n\n\n<h2>Day 2: Data Manipulation<\/h2>\n\n\n\n<p>Topics:<\/p>\n\n\n\n<ol><li>Updating records with UPDATE statement<\/li><li>Deleting records with DELETE statement<\/li><li>Limiting and pagination with LIMIT and OFFSET<\/li><li>Aggregation functions: COUNT, SUM, AVG, MIN, MAX<\/li><li>Grouping data with GROUP BY<\/li><\/ol>\n\n\n\n<p>Assignments:<\/p>\n\n\n\n<ol><li>Update the age of the user with id 2 to 35.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   UPDATE users SET age = 35 WHERE id = 2;<\/pre>\n\n\n\n<ol start=\"2\"><li>Delete the user with id 4 from the &#8220;users&#8221; table.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   DELETE FROM users WHERE id = 4;<\/pre>\n\n\n\n<ol start=\"3\"><li>Retrieve the first 3 records from the &#8220;users&#8221; table.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT * FROM users LIMIT 3;<\/pre>\n\n\n\n<ol start=\"4\"><li>Retrieve the total number of users in the &#8220;users&#8221; table.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT COUNT(*) FROM users;<\/pre>\n\n\n\n<ol start=\"5\"><li>Retrieve the average age of users.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT AVG(age) FROM users;<\/pre>\n\n\n\n<h2>Day 3: Filtering and Sorting<\/h2>\n\n\n\n<p>Topics:<\/p>\n\n\n\n<ol><li>Using WHERE clause for conditional filtering<\/li><li>Using comparison operators: =, &lt;&gt;, &lt;, &gt;, &lt;=, &gt;=<\/li><li>Using logical operators: AND, OR, NOT<\/li><li>Sorting data with ORDER BY clause<\/li><li>Sorting in ascending and descending order<\/li><\/ol>\n\n\n\n<p>Assignments:<\/p>\n\n\n\n<ol><li>Retrieve the names of users whose city is &#8216;Mumbai&#8217;.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> SELECT name FROM users WHERE city = 'Mumbai';<\/pre>\n\n\n\n<ol start=\"2\"><li>Retrieve the names of users whose age is between 25 and 35.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT name FROM users WHERE age BETWEEN 25 AND 35;<\/pre>\n\n\n\n<ol start=\"3\"><li>Retrieve the names of users whose city is not &#8216;Delhi&#8217;.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT name FROM users WHERE city &lt;> 'Delhi';<\/pre>\n\n\n\n<ol start=\"4\"><li>Retrieve all records from the &#8220;users&#8221; table sorted by age in ascending order.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT * FROM users ORDER BY age ASC;<\/pre>\n\n\n\n<ol start=\"5\"><li>Retrieve all records from the &#8220;users&#8221; table sorted by name in descending order.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT * FROM users ORDER BY name DESC;<\/pre>\n\n\n\n<h2>Day 4: Data Aggregation and Functions<\/h2>\n\n\n\n<p>Topics:<\/p>\n\n\n\n<ol><li>Using aggregate functions: COUNT, SUM, AVG, MIN, MAX<\/li><li>Working with NULL values: IS NULL, IS NOT NULL<\/li><li>Using mathematical functions: ROUND, CEILING, FLOOR<\/li><li>String functions: CONCAT, UPPER, LOWER, LENGTH<\/li><li>Date functions: NOW, DATE_FORMAT, DATE_ADD, DATE_SUB<\/li><\/ol>\n\n\n\n<p>Assignments:<\/p>\n\n\n\n<ol><li>Retrieve the total number of users in the &#8220;users&#8221; table.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT COUNT(*) FROM users;<\/pre>\n\n\n\n<ol start=\"2\"><li>Retrieve the sum of ages of all users.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT SUM(age) FROM users;<\/pre>\n\n\n\n<ol start=\"3\"><li>Retrieve the average age of users excluding NULL values.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT AVG(age) FROM users WHERE age IS NOT NULL;<\/pre>\n\n\n\n<ol start=\"4\"><li>Retrieve the concatenated names and cities of all users.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT CONCAT(name, ', ', city) AS info FROM users;<\/pre>\n\n\n\n<ol start=\"5\"><li>Retrieve the current date and time.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT NOW();<\/pre>\n\n\n\n<h2>Day 5: Grouping and Filtering with HAVING Clause<\/h2>\n\n\n\n<p>Topics:<\/p>\n\n\n\n<ol><li>Grouping data with GROUP BY clause<\/li><li>Filtering grouped data with HAVING clause<\/li><li>Using aggregate functions with GROUP BY<\/li><li>Using multiple columns in GROUP BY<\/li><li>Combining GROUP BY, HAVING, and ORDER BY<\/li><\/ol>\n\n\n\n<p>Assignments:<\/p>\n\n\n\n<ol><li>Retrieve the names and ages of users grouped by city.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT city, GROUP_CONCAT(name) AS names, GROUP_CONCAT(age) AS ages FROM users GROUP BY city;<\/pre>\n\n\n\n<ol start=\"2\"><li>Retrieve the cities with more than 2 users.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT city FROM users GROUP BY city HAVING COUNT(*) > 2;<\/pre>\n\n\n\n<ol start=\"3\"><li>Retrieve the average age of users in each city.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT city, AVG(age) AS average_age FROM users GROUP BY city;<\/pre>\n\n\n\n<ol start=\"4\"><li>Retrieve the cities with the highest and lowest average age of users.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT city, AVG(age) AS average_age FROM users GROUP BY city HAVING AVG(age) = (SELECT MAX(avg_age) FROM (SELECT AVG(age) AS avg_age FROM users GROUP BY city) AS temp) OR AVG(age) = (SELECT MIN(avg_age) FROM (SELECT AVG(age) AS avg_age FROM users GROUP BY city) AS temp);<\/pre>\n\n\n\n<ol start=\"5\"><li>Retrieve the cities with at least 1 user whose age is greater than 30, sorted by city name.<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   SELECT city FROM users WHERE age > 30 GROUP BY city ORDER BY city ASC;<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Day 1: Basic SQL Queries Topics: Introduction to SQL and relational databases Creating a database and tables Inserting data into tables Retrieving data with SELECT statement Filtering and sorting data Assignments: Create a database named &#8220;mydb&#8221;. Create a table named &#8220;users&#8221; with columns id, name, age, city, added_at, and updated_at. Insert 5 records into the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[34],"tags":[],"_links":{"self":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2546"}],"collection":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/comments?post=2546"}],"version-history":[{"count":1,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2546\/revisions"}],"predecessor-version":[{"id":2547,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/posts\/2546\/revisions\/2547"}],"wp:attachment":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/media?parent=2546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/categories?post=2546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/tags?post=2546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}