SQL SELECT语句是只读查询核心,以表格形式返回结果,基本结构为SELECT指定字段、FROM指定数据源表,二者缺一不可;支持WHERE筛选、ORDER BY排序、DISTINCT去重、LIMIT/TOP限行、GROUP BY分组及JOIN多表关联。
SQL查询语句的核心就是SELECT,它不改数据,只“看”数据——从表里按需取出你要的那一部分,结果以表格形式返回。掌握SELECT,就掌握了和数据库对话的第一步。
最简SELECT语句只有两部分:
SELECT name, age;用 * 表示查所有字段,如 SELECT * FROM users
FROM employees;可接单表,也支持多表(用逗号或JOIN)这两部分缺一不可。其他子句都是锦上添花,不是必需的。
光选字段不够,还得挑出符合条件的行。WHERE子句就在FROM之后、GROUP BY之前执行:
=、(或!=)、>、BETWEEN ... AND ...、IN (1,2,3)
LIKE:name LIKE '王%' 查姓王的人,'张_' 匹配“张”+一个任意字符(如“张三”)= NULL,得写 IS NULL 或 IS NOT NULL
查出来数据乱糟糟?用这几个子句快速规整:
ORD
ER BY salary DESC, name ASC(先按工资降序,工资相同时再按姓名升序)SELECT DISTINCT city FROM customers,只返回不重复的城市名SELECT * FROM logs ORDER BY time DESC LIMIT 10 查最新10条日志当你要算总数、平均值,或把不同表的数据拼在一起时,就得用这些:
SELECT department, COUNT(*) FROM staff GROUP BY department
HAVING COUNT(*) > 5
INNER JOIN,只保留两表都匹配的记录;LEFT JOIN 保证左表全保留,右表没匹配就填NULL基本上就这些。