微信扫一扫关注
如已关注,请回复“登录”二字获取验证码
欢迎来到桔子雨工作室官方网站!桔子雨工作室是一个软件和信息技术服务提供商,为中小微企业提供数字化价值。

SELECT student_id, student_name FROM students;*选择所有列SELECT * FROM students;SELECT * FROM students WHERE age > 18;=, <>, >, <, >=, <=BETWEEN, LIKE, IN, IS NULLSELECT s.name, c.class_name FROM students s INNER JOIN classes c ON s.class_id = c.id;SELECT s.name, t.teacher_name FROM students s LEFT JOIN teachers t ON s.teacher_id = t.id;SELECT t.teacher_name, s.name FROM teachers t RIGHT JOIN students s ON t.id = s.teacher_id;SELECT class_id, AVG(score) FROM scores GROUP BY class_id;SELECT class_id, AVG(score) as avg_score FROM scores GROUP BY class_id HAVING AVG(score) > 80;| 函数 | 说明 | 示例 |
|---|---|---|
| COUNT() | 计数 | COUNT(student_id) |
| SUM() | 求和 | SUM(score) |
| AVG() | 平均值 | AVG(score) |
| MAX() | 最大值 | MAX(score) |
| MIN() | 最小值 | MIN(score) |
SELECT * FROM students ORDER BY score DESC, name ASC;SELECT * FROM students LIMIT 10; -- 前10条 SELECT * FROM students LIMIT 5, 10; -- 从第5条开始取10条-- 第3页,每页20条 SELECT * FROM products LIMIT 40, 20;INSERT INTO students (name, age) VALUES ('张三', 18);UPDATE students SET score = 90 WHERE id = 1001;DELETE FROM students WHERE id = 1001;SELECT DISTINCT class_id FROM students;SELECT name, CASE WHEN score >= 90 THEN '优秀' WHEN score >= 60 THEN '及格' ELSE '不及格' END AS level FROM students;SELECT name FROM teachers UNION SELECT name FROM students;SELECT name FROM students s WHERE EXISTS ( SELECT 1 FROM scores WHERE student_id = s.id );SELECT name FROM students WHERE id IN (SELECT student_id FROM scores WHERE score > 90);BEGIN; UPDATE accounts SET balance = balance - 100 WHERE id = 1; UPDATE accounts SET balance = balance + 100 WHERE id = 2; COMMIT;SQL关键字的逻辑执行顺序:
FROM → 2. JOIN → 3. WHERE → 4. GROUP BY →5. HAVING → 6. SELECT → 7. DISTINCT →8. ORDER BY → 9. LIMIT/OFFSET
记住这个顺序有助于理解复杂SQL的执行逻辑!