Bird
Raised Fist0
SQLquery~5 mins

String quoting and concatenation differences in SQL

Choose your learning style10 modes available
Introduction
We use quotes to tell the database where a text starts and ends. Concatenation joins pieces of text together to make one longer text.
When you want to store or search for words or sentences in a database.
When you need to combine first and last names into a full name.
When you want to add a greeting before a name, like 'Hello, John'.
When you want to write a query that checks for exact text values.
When you want to build a message by joining several text parts.
Syntax
SQL
SELECT 'text' AS example_text;
-- Concatenate strings using || or CONCAT function
SELECT 'Hello' || ' ' || 'World' AS greeting;
-- Or using CONCAT function
SELECT CONCAT('Hello', ' ', 'World') AS greeting;
Use single quotes (' ') to write text values in SQL.
Double quotes (") are usually for column or table names, not text.
Concatenation operator (||) joins strings in many SQL databases like PostgreSQL.
Some databases like MySQL use CONCAT() function for joining strings.
Examples
This selects the text 'apple' as a column named fruit.
SQL
SELECT 'apple' AS fruit;
This joins three strings with spaces to say 'Hello World'.
SQL
SELECT 'Hello' || ' ' || 'World' AS greeting;
This uses CONCAT function to join strings into 'Good Morning'.
SQL
SELECT CONCAT('Good', ' ', 'Morning') AS greeting;
Double quotes are used to refer to column or table names exactly.
SQL
SELECT "column_name" FROM table_name;
Sample Program
This query shows how to write text, and how to join first and last names using two methods.
SQL
SELECT 'John' AS first_name, 'Doe' AS last_name,
       'Hello, ' || 'John' || ' ' || 'Doe' AS greeting,
       CONCAT('Hello, ', 'John', ' ', 'Doe') AS greeting_concat;
OutputSuccess
Important Notes
Always use single quotes for text values to avoid errors.
Concatenation syntax can differ between SQL databases; check your database's rules.
Double quotes are for identifiers like column names, not for text strings.
Summary
Use single quotes to write text in SQL.
Join text using || operator or CONCAT() function depending on your database.
Double quotes are for column or table names, not for text.

Practice

(1/5)
1. In SQL, which of the following is the correct way to write the text string Hello?
easy
A. Use double quotes: "Hello"
B. Use single quotes: 'Hello'
C. Use backticks: `Hello`
D. No quotes needed: Hello

Solution

  1. Step 1: Understand SQL string quoting rules

    In SQL, text strings must be enclosed in single quotes to be recognized as string literals.
  2. Step 2: Identify correct quoting for text

    Double quotes are for identifiers like column names, backticks are MySQL-specific for identifiers, and no quotes means a column or keyword.
  3. Final Answer:

    Use single quotes: 'Hello' -> Option B
  4. Quick Check:

    Text strings = single quotes [OK]
Hint: Text strings always use single quotes in SQL [OK]
Common Mistakes:
  • Using double quotes for text strings
  • Using backticks for text strings
  • Not using any quotes for text
2. Which of the following SQL statements correctly concatenates the strings 'Hello' and 'World'?
easy
A. SELECT CONCAT('Hello', 'World');
B. SELECT 'Hello' + 'World';
C. SELECT 'Hello' || 'World';
D. SELECT 'Hello' & 'World';

Solution

  1. Step 1: Know SQL string concatenation operators

    Standard SQL uses || to join strings. Some databases use CONCAT() function.
  2. Step 2: Check each option

    SELECT 'Hello' + 'World'; uses + which is not standard SQL for strings. SELECT 'Hello' || 'World'; uses || which is correct in standard SQL but not supported in all databases. SELECT CONCAT('Hello', 'World'); uses CONCAT() which is valid and widely supported in many databases. SELECT 'Hello' & 'World'; uses & which is invalid.
  3. Final Answer:

    SELECT CONCAT('Hello', 'World'); -> Option A
  4. Quick Check:

    CONCAT() is widely supported for string concatenation [OK]
Hint: Use CONCAT() function for portable string concatenation [OK]
Common Mistakes:
  • Using + for string concatenation
  • Using & for string concatenation
  • Confusing CONCAT() with operator
3. What is the output of this SQL query?
SELECT 'SQL' || ' ' || 'Rocks' AS message;
medium
A. SQL|| ||Rocks
B. 'SQL Rocks'
C. 'SQL' ' ' 'Rocks'
D. SQL Rocks

Solution

  1. Step 1: Understand string concatenation with ||

    The operator || joins strings without adding extra quotes in the output.
  2. Step 2: Evaluate the concatenation

    'SQL' + ' ' + 'Rocks' becomes the string SQL Rocks without quotes in the result display.
  3. Final Answer:

    SQL Rocks -> Option D
  4. Quick Check:

    Concatenated string shows without quotes in output [OK]
Hint: Concatenation joins strings; output shows text without quotes [OK]
Common Mistakes:
  • Expecting quotes around output string
  • Confusing concatenation operator with plus sign
  • Misreading output as literal code
4. Identify the error in this SQL statement:
SELECT "Hello" || 'World';
medium
A. Double quotes around Hello cause a syntax error
B. Using || operator is invalid
C. Single quotes around World cause error
D. No error, statement is correct

Solution

  1. Step 1: Understand quoting rules for strings and identifiers

    Double quotes are for identifiers (like column names), not string literals. Using them around text causes error.
  2. Step 2: Check the statement

    "Hello" is treated as an identifier, which likely does not exist, causing an error. Single quotes around 'World' are correct. || operator is valid.
  3. Final Answer:

    Double quotes around Hello cause a syntax error -> Option A
  4. Quick Check:

    Double quotes = identifiers, not strings [OK]
Hint: Use single quotes for text, double quotes for names [OK]
Common Mistakes:
  • Using double quotes for string literals
  • Thinking || operator is invalid
  • Confusing single and double quotes
5. You want to create a SQL query that returns the full name by joining first name and last name columns with a space in between. Which of the following is the best and most portable way to do this?
hard
A. SELECT first_name + ' ' + last_name FROM users;
B. SELECT first_name || ' ' || last_name FROM users;
C. SELECT CONCAT(first_name, ' ', last_name) FROM users;
D. SELECT first_name & ' ' & last_name FROM users;

Solution

  1. Step 1: Understand string concatenation portability

    Different databases support different concatenation methods: || is standard but not supported everywhere; CONCAT() is widely supported.
  2. Step 2: Evaluate options for portability

    SELECT first_name + ' ' + last_name FROM users; uses + which works in some but not all databases. SELECT first_name || ' ' || last_name FROM users; uses || which is standard but not supported in all (e.g., SQL Server). SELECT CONCAT(first_name, ' ', last_name) FROM users; uses CONCAT() which is supported in most modern databases. SELECT first_name & ' ' & last_name FROM users; uses & which is invalid.
  3. Final Answer:

    SELECT CONCAT(first_name, ' ', last_name) FROM users; -> Option C
  4. Quick Check:

    CONCAT() is most portable for string join [OK]
Hint: Use CONCAT() for portable string joining across databases [OK]
Common Mistakes:
  • Using + operator assuming it works everywhere
  • Using || operator without checking database support
  • Using & operator which is invalid
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