1

在数据库中,查询操作是非常重要的一部分,SQL(结构化查询语言)提供了丰富的查询功能来满足各种需求。以下是一些常见的查询操作及其详细介绍和示例:

1. 别名 (Alias)

别名用于给表或列临时命名,使查询结果更易读。

SELECT column_name AS alias_name
FROM table_name;

示例:

SELECT id AS 'ID', name AS 'Name'
FROM employee;

2. BETWEEN

BETWEEN 运算符用于选择一个范围内的值。

SELECT column_name
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

示例:

SELECT *
FROM orders
WHERE price BETWEEN 50 AND 100;

3. CASE

CASE 语句用于条件判断,并根据条件返回相应的值。

SELECT column_name,
CASE
    WHEN condition THEN result1
    WHEN condition THEN result2
    ELSE result3
END
FROM table_name;

示例:

SELECT name, 
CASE 
    WHEN salary > 5000 THEN 'High'
    WHEN salary > 3000 THEN 'Medium'
    ELSE 'Low'
END AS salary_grade
FROM employee;

4. DISTINCT

DISTINCT 关键字用于返回唯一不同的值。

SELECT DISTINCT column_name
FROM table_name;

示例:

SELECT DISTINCT dept
FROM employee;

5. ORDER BY

ORDER BY 用于根据一个或多个列对结果进行排序。

SELECT column_name
FROM table_name
ORDER BY column_name [ASC|DESC];

示例:

SELECT name, salary
FROM employee
ORDER BY salary DESC;

6. UNION

UNION 运算符用于合并两个或多个 SELECT 语句的结果集。

SELECT column_name FROM table1
UNION
SELECT column_name FROM table2;

示例:

SELECT name FROM employees_usa
UNION
SELECT name FROM employees_uk;

7. 正则表达式 (REGEXP)

REGEXP 运算符用于匹配正则表达式。

SELECT column_name
FROM table_name
WHERE column_name REGEXP 'pattern';

示例:

SELECT name
FROM employee
WHERE name REGEXP '^J';

8. 分页查询

分页查询用于从大数据集中获取部分数据,通常与 LIMITOFFSET 一起使用。

SELECT column_name
FROM table_name
LIMIT number OFFSET number;

示例:

SELECT *
FROM orders
LIMIT 10 OFFSET 20;

9. WHERE

WHERE 子句用于根据指定条件过滤记录。

SELECT column_name
FROM table_name
WHERE condition;

示例:

SELECT name, salary
FROM employee
WHERE dept = 'HR';
  • 查询集(表或子查询)可以指定别名:
    在 SQL 中,你可以给表或子查询结果指定一个别名,这样在后续的查询中可以更方便地引用。例如:

    SELECT e.name, e.salary
    FROM employee AS e;
  • 查询集的列可以指定别名:
    在 SQL 查询中,你可以给结果集的列指定一个别名,这样结果会更易读或更符合需求。例如:

    SELECT name AS employee_name, salary AS employee_salary
    FROM employee;
  • 可以用双引号或反引号将别名包围起来:
    SQL 标准允许使用双引号包围别名,而 MySQL 还允许使用反引号包围别名。例如:

    SELECT name AS "Employee Name"
    FROM employee;
    
    SELECT name AS `Employee Name`
    FROM employee;

本文由mdnice多平台发布


逼格高的汤圆
10 声望2 粉丝