Bird
Raised Fist0
SQLquery~10 mins

Tables, rows, and columns concept in SQL - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Tables, rows, and columns concept
Start: Create Table
↓
Define Columns
↓
Insert Rows
↓
Table with Rows and Columns
↓
Query Table to See Data
↓
Retrieve Rows and Columns
This flow shows how a table is created with columns, rows are added, and then data is retrieved by querying the table.
Execution Sample
SQL
CREATE TABLE Students (
  ID INT,
  Name VARCHAR(50),
  Age INT
);

INSERT INTO Students VALUES (1, 'Alice', 20);
INSERT INTO Students VALUES (2, 'Bob', 22);

SELECT * FROM Students;
This code creates a table named Students with three columns, inserts two rows, and then selects all data from the table.
Execution Table
StepActionTable StateOutput
1Create table Students with columns ID, Name, AgeTable created with columns: ID, Name, Age; no rows yetNo output
2Insert row (1, 'Alice', 20)Table has 1 row: (1, 'Alice', 20)No output
3Insert row (2, 'Bob', 22)Table has 2 rows: (1, 'Alice', 20), (2, 'Bob', 22)No output
4Select all rows from StudentsTable unchangedRows returned: ID | Name | Age 1 | Alice | 20 2 | Bob | 22
5End of operationsFinal table state with 2 rowsExecution complete
💡 All rows inserted and selected; no more operations
Variable Tracker
VariableStartAfter Step 2After Step 3Final
Table Rows0 rows1 row: (1, 'Alice', 20)2 rows: (1, 'Alice', 20), (2, 'Bob', 22)2 rows: (1, 'Alice', 20), (2, 'Bob', 22)
Key Moments - 3 Insights
Why does the table have columns before any rows are inserted?
Because the table structure is defined first with columns (Step 1 in execution_table). Rows can only be added after columns exist.
What happens if you select from the table before inserting rows?
The query returns zero rows because the table is empty (no data inserted yet), as shown before Step 2.
Are the rows ordered in the table?
Rows are stored in the order inserted here (Step 2 and 3), but SQL does not guarantee order unless ORDER BY is used.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, how many rows does the table have after Step 3?
A2 rows
B1 row
C3 rows
D0 rows
💡 Hint
Check the 'Table State' column at Step 3 in the execution_table.
At which step does the SELECT query return data?
AStep 2
BStep 4
CStep 1
DStep 5
💡 Hint
Look for the 'Output' column showing rows returned in the execution_table.
If we insert a third row after Step 3, how would the 'Table Rows' variable change in variable_tracker?
AIt stays at 2 rows
BIt resets to 0 rows
CIt changes to 3 rows after the next step
DIt becomes undefined
💡 Hint
Variable_tracker shows rows increasing after each insert step.
Concept Snapshot
Tables store data in rows and columns.
Columns define the data types and names.
Rows hold actual data entries.
Create table first, then insert rows.
Query to retrieve rows and columns.
Order of rows is not guaranteed without ORDER BY.
Full Transcript
This lesson shows how a database table is created with columns, how rows are added, and how data is retrieved by querying the table. First, the table structure is defined with columns like ID, Name, and Age. Then, rows of data are inserted one by one. Finally, a SELECT query retrieves all rows and columns from the table. The execution table traces each step, showing the table's state and output. Variables track how many rows exist after each insertion. Key moments clarify common confusions such as why columns exist before rows and how row order works. The visual quiz tests understanding of row counts and query results. The concept snapshot summarizes the basics of tables, rows, and columns in SQL.

Practice

(1/5)
1. What does a row represent in a database table?
easy
A. A group of tables linked together
B. The name of the table
C. The type of data stored in the table
D. A single record containing data for each column

Solution

  1. Step 1: Understand the structure of a table

    A table is made up of rows and columns where columns define data types and rows hold data.
  2. Step 2: Identify what a row represents

    A row is one complete record with values for each column in the table.
  3. Final Answer:

    A single record containing data for each column -> Option D
  4. Quick Check:

    Row = single record [OK]
Hint: Rows = records, columns = data types [OK]
Common Mistakes:
  • Confusing rows with columns
  • Thinking rows are table names
  • Mixing up rows with database schemas
2. Which of the following is the correct way to select all columns from a table named Employees?
easy
A. GET * FROM Employees;
B. SELECT ALL COLUMNS Employees;
C. SELECT * FROM Employees;
D. SELECT COLUMNS FROM Employees;

Solution

  1. Step 1: Recall SQL syntax for selecting all columns

    The standard SQL command to select all columns is SELECT * FROM table_name;.
  2. Step 2: Match the correct syntax

    SELECT * FROM Employees; matches the correct syntax exactly.
  3. Final Answer:

    SELECT * FROM Employees; -> Option C
  4. Quick Check:

    SELECT * = all columns [OK]
Hint: Use * to select all columns [OK]
Common Mistakes:
  • Using GET instead of SELECT
  • Writing SELECT ALL COLUMNS which is invalid
  • Omitting FROM keyword
3. Given the table Students with columns id, name, and age, what will this query return?
SELECT name FROM Students WHERE age > 20;
medium
A. Only the names of students older than 20
B. All columns for students older than 20
C. Only the ages of students older than 20
D. An error because age is not selected

Solution

  1. Step 1: Analyze the SELECT clause

    The query selects only the name column from the table.
  2. Step 2: Analyze the WHERE condition

    It filters rows where age is greater than 20, so only those students are included.
  3. Final Answer:

    Only the names of students older than 20 -> Option A
  4. Quick Check:

    SELECT name WHERE age > 20 = names only [OK]
Hint: SELECT columns control output, WHERE filters rows [OK]
Common Mistakes:
  • Thinking all columns are returned
  • Assuming age column is returned without selecting it
  • Believing query causes error due to WHERE clause
4. What is wrong with this SQL query?
SELECT id, name FROM Students WHERE age = 'twenty';
medium
A. Using quotes around a number in WHERE clause causes error
B. Comparing age to a string 'twenty' may cause no matches
C. Selecting multiple columns requires commas
D. Missing FROM keyword before table name

Solution

  1. Step 1: Check the WHERE clause comparison

    The query compares age to the string 'twenty', but age is numeric.
  2. Step 2: Understand effect of comparing number to string

    This will not cause a syntax error but likely returns zero rows because no numeric age equals 'twenty'.
  3. Final Answer:

    Comparing age to a string 'twenty' may cause no matches -> Option B
  4. Quick Check:

    Wrong data type comparison = no results [OK]
Hint: Match data types in WHERE clause [OK]
Common Mistakes:
  • Thinking quotes cause syntax error
  • Assuming query returns matching rows
  • Ignoring data type mismatch
5. You have a table Orders with columns order_id, customer_id, and amount. You want to find the total amount spent by each customer. Which SQL query correctly groups and sums the data?
hard
A. SELECT customer_id, SUM(amount) FROM Orders GROUP BY customer_id;
B. SELECT order_id, SUM(amount) FROM Orders GROUP BY order_id;
C. SELECT customer_id, amount FROM Orders WHERE SUM(amount) > 100;
D. SELECT customer_id, amount FROM Orders GROUP BY amount;

Solution

  1. Step 1: Identify the goal

    We want total amount spent per customer, so we must group by customer_id.
  2. Step 2: Use aggregation function

    SUM(amount) calculates total amount per group.
  3. Step 3: Check query correctness

    SELECT customer_id, SUM(amount) FROM Orders GROUP BY customer_id; correctly groups by customer_id and sums amount.
  4. Final Answer:

    SELECT customer_id, SUM(amount) FROM Orders GROUP BY customer_id; -> Option A
  5. Quick Check:

    Group by customer_id + SUM(amount) = total per customer [OK]
Hint: Group by key, aggregate values with SUM [OK]
Common Mistakes:
  • Grouping by wrong column
  • Using WHERE with aggregate functions incorrectly
  • Selecting columns not in GROUP BY without aggregation
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard