SQL入门:掌握DQL—数据查询语言核心解析

DQL(Data Query Language,数据查询语言)是SQL语言的一个组成部分,专门用于从数据库表中检索数据的语言。DQL语句的核心是SELECT语句,它允许用户指定从一个或多个表中检索数据的条件和方式。DQL语句不会对数据库中的数据进行任何修改,只是将查询结果作为一个虚拟表返回给用户。

核心语法框架

SELECT [DISTINCT] 字段列表/通配符*
FROM 表名 [表别名]
[JOIN 关联表 [关联表别名] ON 关联条件] -- 多表关联查询
[WHERE 行筛选条件]                    -- 过滤行数据
[GROUP BY 分组字段]                   -- 按字段分组
[HAVING 分组筛选条件]                 -- 过滤分组结果
[ORDER BY 排序字段 [ASC/DESC]]        -- 排序结果
[LIMIT 起始位置, 记录数];             -- 限制返回行数(部分数据库用TOP)

示例

1.基础查询

-- 查询所有字段
SELECT * FROM orders;

-- 查询指定字段并去重
SELECT DISTINCT user_id, status FROM orders;

2.条件筛选(WHERE)

-- 查询金额大于1000的已支付订单
SELECT order_id, amount 
FROM orders 
WHERE status = '已支付' AND amount > 1000;

3.排序(ORDER BY)

-- 按创建时间降序、金额升序排列
SELECT * FROM orders 
ORDER BY create_time DESC, amount ASC;

4.分组与聚合(GROUP BY)

-- 按用户分组,统计每个用户的订单总数和总金额
SELECT user_id, COUNT(*) AS order_count, SUM(amount) AS total_amount
FROM orders 
GROUP BY user_id
HAVING total_amount > 5000; -- 筛选总金额超5000的用户

5.多表关联(join)

-- 关联用户表查询订单所属用户名
SELECT o.order_id, u.username, o.amount
FROM orders o
INNER JOIN users u ON o.user_id = u.user_id;

6.限制结果(LIMIT)

-- 获取最近的10条订单
SELECT * FROM orders 
ORDER BY create_time DESC
LIMIT 10;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值