SQL 数据库的查询语句我用得还挺多,尤其是开发后台管理系统的时候,经常要和各种字段打交道。你要是刚接触或者想理一理常用的查询写法,这篇整理真的挺全的,从SELECT
基础语法到WHERE
的各种过滤方式都说到了,例子也实用。
简单查询最常用的套路就是:SELECT + FROM + WHERE
,比如你想查叫“张三”的邮箱,就这么写:
SELECT nickname, email
FROM testtable
WHERE name = '张三'
选择列表这块你得灵活点。要查所有列就SELECT *
,只查部分列就写列名,想换列标题也行,像这样:
SELECT 昵称 = nickname, 电子邮件 = email FROM testtable
想去重的话加个DISTINCT
,只看前两条可以用TOP 2
。效率提起来,响应也快。
FROM 子句负责告诉数据库去哪找数据。多个表联查的时候,记得加上表名来避免列冲突:
SELECT username, citytable.cityid
FROM usertable, citytable
WHERE usertable.cityid = citytable.cityid
表名太长?给它起个别名,写起来更轻松,比如usertable AS u
。
WHERE 子句是重点,基本上你想查的条件都靠它,比如大小比较、模糊匹配(LIKE
)、多个条件(AND / OR
)这些都少不了:
SELECT * FROM employees
WHERE age > 30 AND department = 'HR'
语法简单,功能还挺强,查数据的时候爽。
还有子查询
的场景也常见,比如你要查销量超过 1 万的书名:
SELECT title FROM
(SELECT title_id, title FROM titles WHERE ytd_sales > 10000) AS t
这种嵌套写法别怕,其实挺直观,多写几次就顺了。
如果你平时要写 SQL,又不想每次都翻文档,这篇文章值得收藏,查漏补缺还蛮方便的。你也可以顺手看看这些相关资料:
- SELECT-FROM-WHERE 语法-Oracle 教程
- SQL 查询语句:SELECT 详解
- 使用运算符的 SELECT 查询中的 WHERE 子句
- INTO 子句:使用 SELECT 语句查询并插入记录
- Oracle 数据库 SQL 语句详解 WHERE 条件查询 LIKE 操作
如果你数据库用得比较多,建议多练这些查询语法,是JOIN
、GROUP BY
和ORDER BY
那几块,写复杂报表就靠它们了。