0% found this document useful (0 votes)
8 views8 pages

What SQL Is: Absolute Basics of SQL

This document provides a comprehensive guide to learning SQL, covering its basics, database structure, and essential commands like SELECT, INSERT, UPDATE, and DELETE. It includes a 1-week beginner learning plan with daily goals and practice exercises tailored for aspiring data analysts. Additionally, it offers practice exercises based on realistic scenarios involving customers, orders, and products.

Uploaded by

lukaoldman
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views8 pages

What SQL Is: Absolute Basics of SQL

This document provides a comprehensive guide to learning SQL, covering its basics, database structure, and essential commands like SELECT, INSERT, UPDATE, and DELETE. It includes a 1-week beginner learning plan with daily goals and practice exercises tailored for aspiring data analysts. Additionally, it offers practice exercises based on realistic scenarios involving customers, orders, and products.

Uploaded by

lukaoldman
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Μετάβαση στο περιεχόμενο

Ιστορικό συνομιλιών

Hi, Can you tell me the absolute basics for learning SQL? Ε
ί
Absolutely! Let’s go over the absolute basics of SQL (Structured Query Language) — the
π
foundation you need to start working with databases confidently. ο
Τ
ε
ς C
:
🧠 1. What SQL Is a
h

t
SQL (Structured Query Language) is a language used to communicate
G with
P
databases — specifically relational databases (like MySQL, PostgreSQL,
T SQLite, or SQL
Server). ε
ί
You use it to: π
ε
 Store data :
 Retrieve data
 Update data
 Delete data

🧱 2. SQL Database Structure


Databases in SQL are organized like this:
Database
└── Table

├── Row (record)

└── Column (field)

Example:
id name age city
New
1 Alice 25
York
Los
2 Bob 30
Angeles

🔤 3. Basic SQL Commands


a. SELECT – Read data
SELECT name, city FROM users;

→ Returns specific columns ( name and city ) from the table users .
To get everything:

SELECT * FROM users;

b. WHERE – Filter data


SELECT * FROM users WHERE city = 'New York';
→ Gets all users who live in New York.
You can use conditions like:

 = , != , < , > , <= , >=


 AND , OR
 LIKE (pattern match)
 IN (multiple options)
Example:
SELECT * FROM users WHERE age > 25 AND city = 'Los Angeles';

c. INSERT – Add data


INSERT INTO users (name, age, city)
VALUES ('Charlie', 28, 'Chicago');

d. UPDATE – Modify data


UPDATE users
SET city = 'San Francisco'
WHERE name = 'Alice';

e. DELETE – Remove data


DELETE FROM users WHERE id = 2;

⚠️Be careful — without a WHERE , it deletes everything.

f. CREATE TABLE – Make a new table


CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
city TEXT
);

g. DROP TABLE – Delete a table


DROP TABLE users;

🧩 4. Common Extras
 ORDER BY → Sort results
SELECT * FROM users ORDER BY age DESC;

 LIMIT → Limit number of rows


SELECT * FROM users LIMIT 5;
 COUNT(), AVG(), SUM(), MAX(), MIN() → Aggregate functions
SELECT AVG(age) FROM users;

 GROUP BY → Group data by a column


SELECT city, COUNT(*) FROM users GROUP BY city;

🧰 5. Where to Practice
Free ways to try SQL interactively:
 SQLite Online
 LeetCode SQL
 Install SQLite locally — simple and lightweight.

Would you like me to make a 1-week beginner SQL learning plan (with short daily
goals and practice ideas)?
yes please! Ε
Perfect 👏 — ίhere’s a 1-week beginner SQL learning plan designed to get you actually
comfortableπwriting and understanding SQL.
ε
It’s short, practical,
ς and you can do it in 30–45 minutes a day.Το
:
C
h
1-Week Beginner SQL Plan a
t
Day 1: Introduction & Setup G
P
Goal: Understand what SQL is and how databases are structured.
T

Learn: ε
ί
 What SQL is (language for databases) π
ε
 What a table, row, and column are :

 Difference between databases like SQLite, MySQL, PostgreSQL

Do:
1. Watch a 10-min intro video (e.g. “SQL for Absolute Beginners” on YouTube).
2. Go to SQLite Online or .
3. Explore a sample database (look at tables, click “Run SQL”).

Practice:
SELECT * FROM Customers;
SELECT * FROM Orders;

Day 2: Reading Data (SELECT & WHERE)


Goal: Retrieve and filter data from tables.
Learn:
 SELECT and FROM
 WHERE with conditions
 Comparison operators ( = , > , < , != , AND , OR , LIKE )
Practice:
SELECT first_name, last_name FROM employees;
SELECT * FROM employees WHERE department = 'Sales';
SELECT * FROM employees WHERE age > 30 AND city = 'London';
SELECT * FROM employees WHERE name LIKE 'A%';

Day 3: Sorting, Limiting, and Aliases


Goal: Control what and how you see your data.
Learn:
 ORDER BY (ASC/DESC)
 LIMIT
 AS (rename columns)
Practice:
SELECT name, salary FROM employees ORDER BY salary DESC;
SELECT name AS employee_name, city FROM employees LIMIT 5;

Day 4: Inserting, Updating, and Deleting


Goal: Modify data in a table.
Learn:
 INSERT INTO
 UPDATE
 DELETE
Practice:
INSERT INTO employees (name, age, city) VALUES ('Sophie', 29, 'Paris');

UPDATE employees
SET city = 'Berlin'
WHERE name = 'Sophie';

DELETE FROM employees WHERE name = 'Sophie';

⚠️Always test with SELECT first before updating or deleting.

Day 5: Creating and Deleting Tables


Goal: Build your own table from scratch.
Learn:
 CREATE TABLE
 Data types ( INTEGER , TEXT , REAL , DATE )
 PRIMARY KEY
 DROP TABLE
Practice:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
city TEXT
);

INSERT INTO users (name, age, city) VALUES ('Alice', 25, 'New York');
SELECT * FROM users;

Day 6: Aggregation & Grouping


Goal: Summarize and analyze data.
Learn:
 COUNT() , SUM() , AVG() , MAX() , MIN()
 GROUP BY
 HAVING (like WHERE but for groups)
Practice:
SELECT city, COUNT(*) FROM users GROUP BY city;
SELECT department, AVG(salary) FROM employees GROUP BY department;
SELECT city, COUNT(*) FROM users GROUP BY city HAVING COUNT(*) > 2;

Day 7: Joining Tables


Goal: Combine data from multiple tables — key to real-world SQL.
Learn:
 INNER JOIN
 LEFT JOIN
 Matching columns between tables (foreign keys)

Practice:
SELECT [Link], [Link], [Link]
FROM orders
INNER JOIN customers ON orders.customer_id = [Link];

Challenge:
Write one query that:
 Joins two tables
 Selects specific columns
 Filters results with WHERE

💪 Bonus Tips
 Practice daily in short sessions — SQL sticks best through repetition.
 Try real datasets (e.g. on Kaggle Datasets).
 Once you’re comfortable, learn JOIN types, subqueries, and window functions.

Would you like me to make a practice sheet (with 10 exercises) that follows this plan
— so you can actually test yourself each day?
yes and please make it tailor made towards the data analyst role. Ε
ί
π
ε
ς
:
Perfect — that’s a smart move 💡. Data analysts use SQL every day to query, clean, and
summarize data, so I’ll make you a 10-exercise practice sheet that’s designed for data
analysis work, not just theory.Το
Each question builds on realistic situations you’d face analyzing sales, customers, or
C
marketing data. h
a
t
G
P

🧩 SQL Practice Sheet for Aspiring Data Analysts


T

ε
ί
π
The Dataset ε
:
Assume you have three tables in your company database:
customers
customer_i signu
name city
d at
Alice New 2023-
1
Brown York 10
Bob Los 2023-
2
Smith Angeles 05
Carla 2023-
3 Chicago
Green 15
orders
order_i customer_i order_
amou
d d date
2023-
101 1 85.50
03-12
2023-
102 1 120.00
04-02
2023-
103 2 60.00
03-20
2023-
104 3 75.00
03-22
products
product_i
name category pr
d
201 Hoodie Apparel 40.
202 T-Shirt Apparel 25.
Coffee
203 Accessories 15
Mug

🧠 Practice Exercises (Beginner → Analyst Level)


Day 1–2: Reading & Filtering Data
1. 🧐 List all customers from New York.
SELECT * FROM customers WHERE city = 'New York';
2. 🔎 Show all orders worth more than $80.
→ Add an ORDER BY clause to see the largest first.
SELECT * FROM orders WHERE amount > 80 ORDER BY amount DESC;

Day 3: Sorting & Limiting


3. 📊 Find the 2 most recent orders.
SELECT * FROM orders ORDER BY order_date DESC LIMIT 2;

4. ✏️Show customer names and their signup dates, sorted alphabetically.


SELECT name, signup_date FROM customers ORDER BY name ASC;

Day 4: Modifying Data (Simulated Tasks)


5. 💾 Add a new customer from Boston named “David Miller.”
INSERT INTO customers (name, city, signup_date)
VALUES ('David Miller', 'Boston', '2023-04-10');

6. 🔄 Update Carla’s city from Chicago to Miami.


UPDATE customers
SET city = 'Miami'
WHERE name = 'Carla Green';

Day 5–6: Aggregation & Analysis


7. 💰 Find the total revenue (sum of order amounts).
SELECT SUM(amount) AS total_revenue FROM orders;

8. Find average order amount by city.


SELECT [Link], AVG([Link]) AS avg_order_value
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
GROUP BY [Link];

Day 7: Joins & Reporting


9. 🧾 Show each order along with the customer’s name.
SELECT o.order_id, [Link], [Link], o.order_date
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id;

10. 📈 Find each customer’s total spend and rank them by highest to lowest.
SELECT [Link], SUM([Link]) AS total_spent
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY [Link]
ORDER BY total_spent DESC;
🧮 Bonus (Analyst-Level Thinking)
If you want a bit more challenge once you’re comfortable:
 Calculate month-over-month revenue growth.
 Find customers who haven’t ordered in the last 30 days.
 Identify the most popular product category.
 Compute the average number of orders per customer.

Practice Setup (Free Tools)


Try these environments:
 🟢 SQLite Online
 🧡 Mode SQL Editor
🟣
You can copy-paste the above tables there and start running the queries right away.

Would you like me to create a downloadable practice workbook (PDF or Excel) with
the dataset tables and space to write your answers — something you can use as a study
guide or portfolio piece?

Το ChatGPT μπορεί να κάνει λάθη. Να ελέγχεις τις σημαντικές πληροφορίες. Βλέπε .

You might also like