01. 基本查询
SELECT 语句基础:
sql
-- 查询所有列
SELECT * FROM users;
-- 查询指定列
SELECT username, email FROM users;
-- 使用别名
SELECT username AS name, email AS mail FROM users;
-- 去重
SELECT DISTINCT department FROM employees;
-- 条件查询
SELECT * FROM users WHERE age > 18;
SELECT * FROM users WHERE email LIKE '%@gmail.com';
SELECT * FROM users WHERE age BETWEEN 20 AND 30;
SELECT * FROM users WHERE id IN (1, 2, 3);
SELECT * FROM users WHERE name IS NOT NULL;02. 排序与分页
ORDER BY 和 LIMIT:
sql
-- 升序排列(默认)
SELECT * FROM users ORDER BY created_at ASC;
-- 降序排列
SELECT * FROM users ORDER BY created_at DESC;
-- 多列排序
SELECT * FROM users ORDER BY age DESC, username ASC;
-- 分页查询(MySQL)
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 20;
-- 或者
SELECT * FROM users ORDER BY id LIMIT 20, 10;
-- 分页查询(PostgreSQL)
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 20;03. 条件运算符
WHERE 子句中的运算符:
sql
-- 比较运算符
SELECT * FROM users WHERE age >= 18;
SELECT * FROM users WHERE age <> 20; -- 不等于
-- 逻辑运算符
SELECT * FROM users WHERE age > 18 AND status = 'active';
SELECT * FROM users WHERE age < 18 OR age > 60;
SELECT * FROM users WHERE NOT status = 'inactive';
-- BETWEEN
SELECT * FROM users WHERE age BETWEEN 20 AND 30;
-- IN
SELECT * FROM users WHERE country IN ('China', 'Japan', 'Korea');
-- LIKE(模式匹配)
SELECT * FROM users WHERE username LIKE 'john%'; -- 以john开头
SELECT * FROM users WHERE email LIKE '%@gmail.com'; -- 以@gmail.com结尾
SELECT * FROM users WHERE username LIKE 'j_hn'; -- j后面一个字符再hn
-- IS NULL
SELECT * FROM users WHERE deleted_at IS NULL;知识测验
第 1/5 题正确 0
查询 users 表中前5条记录的正确SQL是?
下一节
下一节 JOIN 连接查询