SQL基础查询核心是SELECT...FROM...,搭配WHERE、ORDER BY、GROUP BY等子句覆盖80%需求;查单表需明确列名、注意字符串引号与空格;多表用LEFT JOIN防数据丢失且必写ON;聚合须GROUP BY非聚合字段,HAVING筛分组;排序后加LIMIT/TOP取前N条。

SQL基础查询核心就一条语句:SELECT ... FROM ...,搭配 WHERE、ORDER BY、GROUP BY 等子句就能覆盖 80% 的日常取数需求。不复杂,但细节决定能不能查得准、查得快。
查单张表:最常用也最容易出错
比如查用户表里所有北京的 VIP 用户:
- SELECT * 能用但慎用——字段多、性能差、后续改逻辑易出错,建议明确写列名,如 SELECT user_id, name, city
- WHERE city = '北京' AND is_vip = 1 —— 字符串加单引号,数字不用;多个条件用 AND/ OR 连接
- 注意大小写和空格:'北京' ≠ '北京 '(末尾有空格),可用 TRIM(city) = '北京' 防一手
查多张表:JOIN 是关键,别只记得 INNER
想看每个订单对应的用户姓名,需关联 orders 和 users 表:
- INNER JOIN:只返回两表都匹配的记录(比如没填收货信息的订单会被漏掉)
- LEFT JOIN 更常用:以 orders 为主,即使 users 找不到对应用户,订单数据仍保留,user_name 显示为 NULL
- 必须写 ON o.user_id = u.id,别漏 ON 条件,否则变笛卡尔积——1 万订单 × 1 万用户 = 1 亿行!
聚合统计:COUNT/SUM/AVG 不是“算完就完”
统计各城市的订单总数、平均金额:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~