Bird
Raised Fist0
SQLquery~10 mins

Relational model mental model in SQL - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the SQL query to select all columns from the table named 'employees'.

SQL
SELECT [1] FROM employees;
Drag options to blanks, or click blank then click option'
ACOLUMNS
BALL
CEVERY
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using words like ALL or COLUMNS instead of the symbol *.
Forgetting to specify columns or using invalid keywords.
2fill in blank
medium

Complete the SQL query to get only the distinct department names from the 'departments' table.

SQL
SELECT [1] department_name FROM departments;
Drag options to blanks, or click blank then click option'
ADISTINCT
BONLY
CSINGLE
DUNIQUE
Attempts:
3 left
💡 Hint
Common Mistakes
Using UNIQUE instead of DISTINCT in SELECT statements.
Using ONLY or SINGLE which are not valid SQL keywords here.
3fill in blank
hard

Fix the error in the SQL query to count the number of employees in each department.

SQL
SELECT department_id, COUNT([1]) FROM employees GROUP BY department_id;
Drag options to blanks, or click blank then click option'
Aemployee_id
B*
Cdepartment_id
Dname
Attempts:
3 left
💡 Hint
Common Mistakes
Counting a specific column that might have NULLs, causing wrong counts.
Using department_id inside COUNT() which counts the group key, not rows.
4fill in blank
hard

Fill both blanks to create a query that finds employees with salary greater than 50000.

SQL
SELECT * FROM employees WHERE salary [1] [2];
Drag options to blanks, or click blank then click option'
A>
B50000
C<
D100000
Attempts:
3 left
💡 Hint
Common Mistakes
Using less than operator instead of greater than.
Using wrong salary values.
5fill in blank
hard

Fill all three blanks to create a query that lists employee names and their department names by joining 'employees' and 'departments' tables.

SQL
SELECT e.name AS employee_name, d.name AS department_name FROM employees e [1] departments d ON e.[2] = d.[3];
Drag options to blanks, or click blank then click option'
AJOIN
Bdepartment_id
DLEFT
Attempts:
3 left
💡 Hint
Common Mistakes
Using LEFT instead of JOIN without ON clause.
Using wrong column names for joining.

Practice

(1/5)
1. In the relational model, what does a table represent?
easy
A. A collection of related records about a thing
B. A single piece of data
C. A programming function
D. A type of database software

Solution

  1. Step 1: Understand the relational model basics

    In the relational model, data is organized into tables that represent entities or things.
  2. Step 2: Identify what a table holds

    A table holds many rows, each row is a record about the thing the table represents.
  3. Final Answer:

    A collection of related records about a thing -> Option A
  4. Quick Check:

    Table = collection of records [OK]
Hint: Tables = things, rows = records, columns = details [OK]
Common Mistakes:
  • Confusing a table with a single data value
  • Thinking a table is a program or software
  • Mixing up rows and columns
2. Which of the following is the correct way to describe a primary key in a table?
easy
A. A column or set of columns that uniquely identifies each row
B. A column that stores only numbers
C. A column that can have duplicate values
D. A column used to sort the table

Solution

  1. Step 1: Recall the role of a primary key

    A primary key uniquely identifies each record in a table, so no two rows share the same primary key value.
  2. Step 2: Check the options

    Only A column or set of columns that uniquely identifies each row describes uniqueness and identification, others describe unrelated properties.
  3. Final Answer:

    A column or set of columns that uniquely identifies each row -> Option A
  4. Quick Check:

    Primary key = unique identifier [OK]
Hint: Primary key means unique row ID [OK]
Common Mistakes:
  • Thinking primary key allows duplicates
  • Confusing primary key with sorting or data type
  • Assuming primary key is always numeric
3. Given a table Employees with columns EmpID (primary key), Name, and Department, what will the following SQL query return?

SELECT Name FROM Employees WHERE Department = 'Sales';
medium
A. Only employees with no department assigned
B. All employee names regardless of department
C. All employee names who work in the Sales department
D. An error because Department is not a primary key

Solution

  1. Step 1: Understand the SELECT and WHERE clauses

    The query selects the Name column from Employees where Department equals 'Sales'.
  2. Step 2: Determine the output

    It returns all employee names whose Department is exactly 'Sales'. It does not return others or cause errors.
  3. Final Answer:

    All employee names who work in the Sales department -> Option C
  4. Quick Check:

    WHERE filters rows, SELECT chooses columns [OK]
Hint: WHERE filters rows; SELECT picks columns [OK]
Common Mistakes:
  • Thinking it returns all employees ignoring WHERE
  • Assuming Department must be primary key to filter
  • Expecting error due to non-primary key in WHERE
4. Consider this SQL snippet:

CREATE TABLE Products (ProductID INT, Name VARCHAR(50), Price DECIMAL);
ALTER TABLE Products ADD PRIMARY KEY (ProductID);
INSERT INTO Products VALUES (1, 'Pen', 1.5), (1, 'Pencil', 0.5);


What is the problem with this code?
medium
A. Price column cannot be DECIMAL
B. It tries to insert duplicate primary key values
C. The primary key is not defined correctly
D. The table has no columns

Solution

  1. Step 1: Check primary key uniqueness

    Primary key ProductID must be unique. The insert tries to add two rows with ProductID = 1.
  2. Step 2: Identify the error cause

    Inserting duplicate primary keys violates uniqueness, causing an error.
  3. Final Answer:

    It tries to insert duplicate primary key values -> Option B
  4. Quick Check:

    Primary key must be unique [OK]
Hint: Primary keys cannot repeat values [OK]
Common Mistakes:
  • Ignoring duplicate key violation
  • Thinking DECIMAL is invalid for Price
  • Assuming primary key syntax is wrong
5. You have two tables: Orders(OrderID, CustomerID, Amount) and Customers(CustomerID, Name). Which relational model concept explains why CustomerID appears in both tables?
hard
A. Column aliasing to rename data
B. Primary key duplication for faster queries
C. Data redundancy to store copies
D. Foreign key linking related records between tables

Solution

  1. Step 1: Understand the role of CustomerID in both tables

    CustomerID uniquely identifies customers in Customers and links orders to customers in Orders.
  2. Step 2: Identify relational model concept

    This linking is done by a foreign key, which references the primary key in another table to connect related data.
  3. Final Answer:

    Foreign key linking related records between tables -> Option D
  4. Quick Check:

    Foreign key = link between tables [OK]
Hint: Foreign key connects tables via shared column [OK]
Common Mistakes:
  • Confusing foreign key with primary key duplication
  • Thinking it's just data redundancy
  • Mixing foreign key with column aliasing
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