Skip to main content
Documents
Clauses StatementsKeywordsExpressionsFunctionsIndexesPerformance Optimization

MySQL USING Keyword

The `USING` keyword in MySQL is used within the `JOIN` clause to specify a column that two tables have in common. It simplifies queries by automatically creating join conditions for columns with the same name across the joined tables.

Usage

The `USING` keyword is employed when performing joins to indicate a shared column, which helps in creating a natural join condition. It is particularly useful for `INNER JOIN` and `LEFT JOIN` operations. `USING` can only be used when the columns have the same name and data type.

SELECT columns
FROM table1
JOIN table2
USING (shared_column);

Here, `USING (shared_column)` specifies the common column used to join `table1` and `table2`. The `USING` keyword is an ANSI SQL standard feature and is supported by other SQL databases besides MySQL.

Examples

1. Basic Inner Join

SELECT customer_id, order_date
FROM customers
JOIN orders USING (customer_id);

In this example, the `USING` keyword specifies that `customer_id` is the common column for joining the `customers` and `orders` tables. Note that `customer_id` will appear only once in the result set.

2. Left Join with USING

SELECT products.product_name, categories.category_name
FROM products
LEFT JOIN categories USING (category_id);

This example uses a `LEFT JOIN` to fetch all products and their categories, even if some products do not belong to a category.

3. Multiple Joins with USING

SELECT e.employee_name, d.department_name, l.location
FROM employees e
JOIN departments d USING (department_id)
JOIN locations l USING (location_id);

This example demonstrates joining three tables using `USING` to manage shared columns `department_id` and `location_id`, which reduces redundancy and improves query readability.

4. Handling Different Column Names

When columns have different names but need to be joined, use the `ON` clause instead:

SELECT e.employee_name, d.department_name
FROM employees e
JOIN departments d ON e.dept_id = d.department_id;

Tips and Best Practices

  • Ensure column names and data types match. The `USING` keyword requires that the column names and data types are identical across the tables being joined.
  • Simplify complex joins. Use `USING` to reduce complexity in SQL queries by avoiding explicit ON conditions for shared columns.
  • Verify table relationships. Before using `USING`, ensure that the column specified truly represents the relationship between the tables.
  • Readability over brevity. Although `USING` can make queries more concise, always prioritize clarity and maintainability of code.
  • Understand the schema. Having a clear understanding of the database schema is crucial for effectively using `USING`.
  • Test your queries. Thoroughly test queries using `USING` to ensure they return the correct results, as misuse can lead to unexpected outcomes.

SQL Upskilling for Beginners

Gain the SQL skills to interact with and query your data.
Start Learning for Free