Interview Questions, Answers and Tutorials

SQL Syntax Overview

SQL Syntax Overview

Welcome to the world of SQL (Structured Query Language)! SQL is the language used to communicate with databases. It helps you store, manage, and retrieve data in a structured way. Think of a database like a huge library, and SQL as the librarian that helps you find the books you want.

In this post, we’ll go over the basic structure of SQL and how you can write queries to interact with a database. We will explain everything in simple terms, like we’re explaining to a 10-year-old.

Key SQL Components

Before we dive into SQL syntax, let’s first understand the basic components that will help you write SQL queries:

  1. Database: A collection of organized data, like a giant electronic folder of information.
  2. Table: Inside a database, we have tables. These are like pages in a book, containing rows and columns of data.
  3. Row: A single record in a table, like a single line in a list.
  4. Column: The categories of data, like name, age, or address in a table.
  5. Query: A question or request to the database for specific information.

Basic SQL Syntax

Let’s take a look at some common SQL commands. Each one has its own syntax (format), and we will learn them step by step.

1. SELECT – Getting Data from a Table

The SELECT statement is used to retrieve data from a table. Think of it as asking the database, “Show me some information.”

SELECT column_name1, column_name2 FROM table_name;

Example: If you want to get the names and ages of all people in a table called students:

SELECT name, age FROM students;

This query will return all names and ages stored in the students table.

2. INSERT INTO – Adding New Data to a Table

When you want to add data to a table, you use the INSERT INTO statement. This is like writing a new line in your list of things.

INSERT INTO table_name (column1, column2) VALUES (value1, value2);

Example: To add a new student to the students table:

INSERT INTO students (name, age) VALUES ('John', 12);

This will add a new student named John, who is 12 years old, to the table.

3. UPDATE – Modifying Existing Data

If you need to update existing data in a table, use the UPDATE statement. It’s like crossing out a wrong answer and writing the correct one in the same spot.

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

Example: To change John’s age from 12 to 13:

UPDATE students SET age = 13 WHERE name = 'John';

4. DELETE – Removing Data from a Table

To remove data from a table, use the DELETE statement. Think of this as erasing something from your list.

DELETE FROM table_name WHERE condition;

Example: To remove John from the students table:

DELETE FROM students WHERE name = 'John';

5. WHERE – Filtering Data

The WHERE clause is used to filter the data you want to work with. It’s like saying, “Show me only the things that match this condition.”

SELECT * FROM table_name WHERE condition;

Example: To find all students who are 12 years old:

SELECT * FROM students WHERE age = 12;

This will show only the students who are 12 years old.

6. ORDER BY – Sorting Data

The ORDER BY clause is used to sort your results, either in ascending or descending order.

SELECT * FROM table_name ORDER BY column_name ASC|DESC;

Example: To sort the students by their age in descending order:

SELECT * FROM students ORDER BY age DESC;

This will show the students, starting with the oldest.

7. LIMIT – Limiting the Number of Results

Sometimes, you only need a few results instead of everything. The LIMIT clause helps you do that.

SELECT * FROM table_name LIMIT number;

Example: To get the first 3 students on the list:

SELECT * FROM students LIMIT 3;

8. JOIN – Combining Data from Multiple Tables

A JOIN is used when you want to get data from multiple tables at the same time. It’s like combining information from different lists.

SELECT column_names FROM table1 JOIN table2 ON table1.column_name = table2.column_name;

Example: If you have two tables: students and grades, and you want to know the names of students along with their grades:

SELECT students.name, grades.grade FROM students JOIN grades ON students.id = grades.student_id;

This will show the names of students and their corresponding grades.


Practice Questions

Let’s practice! Try to write the SQL queries based on these questions.

  1. Get the names of all students in the table.
  2. Add a new student named Alice, who is 14 years old, to the table.
  3. Update the age of Alice to 15.
  4. Delete a student named Bob from the table.
  5. Find all students who are older than 12.
  6. Sort students by their names in alphabetical order.
  7. Get the first 5 students on the list.
  8. Join two tables: students and courses, and find which students are taking which courses.

Interview Questions

  1. What is SQL?
    • SQL (Structured Query Language) is a language used to manage and manipulate relational databases.
  2. What does the SELECT statement do?
    • The SELECT statement is used to retrieve data from a database.
  3. What is the difference between DELETE and TRUNCATE in SQL?
    • DELETE removes rows from a table based on a condition, while TRUNCATE removes all rows without any condition, and it is faster.
  4. Explain the difference between INNER JOIN and LEFT JOIN.
    • INNER JOIN returns only the rows with matching data in both tables. LEFT JOIN returns all rows from the left table, and matching rows from the right table (if no match, it returns NULL).
  5. What is a primary key in SQL?
    • A primary key is a unique identifier for each record in a table. It ensures that no two rows in the table have the same value for that column.

SQL is a powerful tool for interacting with databases, and understanding the basic syntax will help you start managing and analyzing data effectively. Remember, SQL allows you to:

  • Retrieve data using SELECT
  • Add data with INSERT INTO
  • Modify data with UPDATE
  • Remove data using DELETE
  • Sort and filter data with ORDER BY and WHERE

Keep practicing these commands and exploring new SQL concepts to become even better at working with databases!