欢迎来到终极 SQL 速查表!如果你在处理 数据库 ,你肯定知道 SQL 的重要性。这份 速查表 提供了常用的 SQL 命令,主要涵盖了 SELECT 查询、连接查询、更新语句等内容。让我们直接开始吧!
1. 基本 SQL 指令SELECT – 查询数据
-- 从employees表中选择所有列
SELECT * FROM employees;
-- 选择特定的列
SELECT name, position FROM employees;
点击全屏模式。点击退出全屏。
WHERE – 过滤数据
-- 获取薪水大于50000的员工
SELECT name, salary FROM employees WHERE salary > 50000;
-- 查询在“HR”部门工作的员工信息
SELECT * FROM employees WHERE department = “HR”;
全屏模式 退出全屏
ORDER BY – 按结果排序
-- 按薪资升序排列
SELECT name, salary FROM employees ORDER BY salary ASC;
-- 按薪资降序排列
SELECT name, salary FROM employees ORDER BY salary DESC;
点击全屏/退出全屏
DISTINCT – 去重
-- 获取所有不同的职位
SELECT DISTINCT position FROM employees;
全屏模式,退出全屏
()*
2. JOIN 操作 (连接操作)INNER JOIN – 从两个表中获取匹配记录(在SQL中,INNER JOIN用于从两个表中获取匹配的记录)
-- 查询员工及其所在部门的名称
SELECT e.name, d.department_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.id;
全屏模式 退出全屏
左连接 – 来自左表的全部记录
-- 查询所有员工及其所属部门(如果有)
SELECT e.name, d.department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.id;
全屏模式: 退出全屏:
右联接:来自右表的全部记录
-- 注释:获取所有部门及其员工,如有
SELECT e.name, d.department_name
FROM employees e
右连接 departments d ON e.department_id = d.id;
全屏模式,退出fullscreen模式
此处省略
3. GROUP BY 和聚合功能COUNT – 统计行数
-- 计算员工的数量
SELECT COUNT(*) FROM employees;
切换到全屏 退出全屏
SUM:列总计
-- 获取员工总薪资
SELECT SUM(工资) FROM 员工表;
切换到全屏 切换出全屏
GROUP BY – 数据分组
-- 获取每个部门的合计薪资
SELECT 部门编号, SUM(薪资)
FROM 员工表
GROUP BY 部门编号;
请进入全屏模式,退出全屏模式
分组后的数据过滤 (HAVING)
-- 找出总薪资超过100000的部门(即薪资总和大于100000)
SELECT department_id, SUM(salary)
FROM employees
GROUP BY department_id
HAVING SUM(salary) > 100000;
进入全屏模式 退出全屏
zh: 等等 (děngděng)
4. 增删改操作新增记录
-- 插入员工记录
INSERT INTO employees (name, position, salary, department_id)
VALUES ('Alice', '经理', 75,000, 2);
进入全屏模式,退出全屏模式
更新 – 更改记录
-- 更新员工Alice的薪水
UPDATE employees
SET salary = 80000
WHERE name = 'Alice';
全屏模式,退出全屏
删除 – 移除记录
-- 删除一个员工的记录。
DELETE FROM employees WHERE name = 'Alice';
请点击进入全屏模式 请点击退出全屏模式
此处省略
5. 高级查询:CASE:查询中的条件判断
-- 根据薪水分配绩效类别
SELECT 姓名,
CASE
WHEN 薪水 > 70000 THEN '高'
WHEN 薪水 BETWEEN 50000 AND 70000 THEN '中'
ELSE '低'
END AS 绩效
FROM 员工
全屏模式 退出全屏
LIKE - 通配符匹配
-- 获取名字以 'A' 开头的员工
SELECT * FROM employees WHERE name LIKE 'A%';
-- 获取名字中包含 'an' 的员工
SELECT * FROM employees WHERE name LIKE '%an%';
全屏模式 退出全屏
此处省略内容
6. 视图和索引创建视图, 虚拟表
-- 创建用于筛选工资高于70000的员工的视图表
CREATE VIEW high_salary_employees AS
SELECT name, salary FROM employees WHERE salary > 70000;
点击全屏模式 点击退出全屏
添加索引:提升查询速度
-- 为了在salary列上创建索引,在employees表的salary列上创建名为idx_salary的索引;
全屏 退出全屏
此处省略
7. SQL函数字符串操作
-- 将姓名转换为大写
SELECT UPPER(name) FROM employees;
-- 连接名字和姓氏以生成全名
SELECT CONCAT(first_name, ' ', last_name) AS generated_full_name FROM employees;
全屏查看 退出全屏
日期功能
-- 获取今天的日期
SELECT CURRENT_DATE;
-- 从日期提取年份
SELECT EXTRACT(YEAR FROM hire_date) FROM employees;
进入全屏 退出全屏
zh: …
8. 数据类型与限制常见数据类型
INT
:整数值
VARCHAR(size)
:固定长度的字符串
DATE
:日期值
BOOLEAN
:布尔值
添加限制
-- 创建带约束的员工表
CREATE TABLE 员工表 (
id INT PRIMARY KEY,
姓名 VARCHAR(100) NOT NULL,
工资 INT CHECK (工资 > 0)
);
点击进入全屏 按这里退出全屏
这份SQL小抄涵盖了广泛的命令和示例,使你的SQL工作更加高效。把它收藏起来以快速参考,并多写查询以提高你的SQL技能!无论你是过滤数据、执行连接还是管理事务,这份指南都能帮到你。
祝你查得开心!🚀
跟我联系:
Jagroop2001 (Jagroop) · GitHub (一个开源代码托管平台)"最好的错误信息是不会出现的那种" - Jagroop2001
注:这是源文本中图像标签和网址的直接表示。