当前位置:首页 > 技术分析 > 正文内容

SQL 基础查询

ruisui8810小时前技术分析1

SQL 查询简介

SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库系统的声明性编程语言。SQL 查询是用于从数据库中检索、更新、插入或删除数据的语句。

基本结构

一个典型的 SQL 查询语句通常由以下部分组成:

  1. SELECT:指定要查询的字段。
  2. FROM:指定查询的表。
  3. WHERE:指定查询的条件,用于过滤数据。
  4. GROUP BY:对查询结果进行分组,通常与聚合函数一起使用。
  5. HAVING:对分组后的结果进行过滤。
  6. ORDER BY:对查询结果进行排序。
  7. LIMIT:限制查询结果的数量,常用于分页。

语法示例

SELECT 列1, 列2, ...
FROM 表名
WHERE 条件
GROUP BY 分组字段
HAVING 分组后条件
ORDER BY 排序字段 [ASC|DESC]
LIMIT 跳过的记录数, 返回的记录数;绍查询的完整语法;

完整的 SQL 查询示例

假设我们有一个名为 employees 的表,其结构如下:

表格

字段名

数据类型

id

INT

name

VARCHAR(100)

age

INT

salary

DECIMAL(10, 2)

department

VARCHAR(50)

1. 查询所有字段

SELECT * FROM employees;
  • 解释:查询 employees 表中的所有字段。

2. 查询特定字段

SELECT name, salary FROM employees;
  • 解释:只查询 name 和 salary 字段。

3. 使用WHERE条件过滤数据

SELECT name, salary FROM employees WHERE age > 30;
  • 解释:查询年龄大于 30 的员工的姓名和工资。

4. 使用GROUP BY进行分组

SELECT department, COUNT(*) AS num_employees FROM employees GROUP BY department;
  • 解释:按部门分组,并计算每个部门的员工数量。

5. 使用HAVING过滤分组后的结果

SELECT department, COUNT(*) AS num_employees 
FROM employees 
GROUP BY department 
HAVING COUNT(*) > 5;
  • 解释:按部门分组,并筛选出员工数量大于 5 的部门。

6. 使用ORDER BY排序

SELECT name, salary FROM employees ORDER BY salary DESC;
  • 解释:按工资降序排列员工的姓名和工资。

7. 使用LIMIT进行分页

SELECT name, salary FROM employees ORDER BY salary DESC LIMIT 0, 10;
  • 解释:按工资降序排列,返回第一页(每页 10 条记录)。

8. 结合多个条件

SELECT name, salary, department 
FROM employees 
WHERE age > 30 
GROUP BY department 
HAVING COUNT(*) > 5 
ORDER BY salary DESC 
LIMIT 0, 10;
  • 解释
  • 查询年龄大于 30 的员工。
  • 按部门分组,并筛选出员工数量大于 5 的部门。
  • 按工资降序排列。
  • 返回第一页(每页 10 条记录)。

注意事项

  1. WHERE 和 HAVING 的区别
  • WHERE 用于过滤行,作用于原始数据。
  • HAVING 用于过滤分组后的结果,通常与聚合函数一起使用。
  1. ORDER BY 的使用
  • 可以对多个字段排序,例如:
ORDER BY department ASC, salary DESC;
  1. LIMIT 的分页计算
  • 第一页:LIMIT 0, 10
  • 第二页:LIMIT 10, 10
  • 第三页:LIMIT 20, 10
  • 以此类推。
  1. 字段别名
  • 可以为字段或表设置别名,使查询更简洁。例如:
SELECT name AS employee_name, salary AS employee_salary FROM employees AS e;

总结

通过这些具体的例子,你可以看到 SQL 查询语句的各个部分如何组合起来完成复杂的查询任务。掌握这些基本结构和用法后,你就可以根据实际需求灵活地编写 SQL 查询了。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4519.html

标签: group by desc
分享给朋友:

“SQL 基础查询” 的相关文章

基于Ubuntu的Linux Lite 6.0发行版正式发布

开发者 Jerry Bezencon 今天宣布,基于 Ubuntu 的 Linux Lite 6.0 发行版正式发布。本次更新代号为“Fluorite”,基于 Ubuntu 22.04 LTS (Jammy Jellyfish) 系统,它由长期支持的 Linux 5.15 LTS 内核系列驱动。下载...

「 VUE3 + TS + Vite 」父子组件间如何通信?

组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、computed 等需要先引入才能使用,但是本篇文章介绍的 defineProps、withDefaul...

Java教程:gitlab-使用入门

1 导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作GitLab简介GitLab环境搭建GitLab基本使用(组、权限、用户、项目)2 GitLab简介GitLab是整个DevOps生命周期...

国产操作系统上Vim的详解03--安装和使用插件 | 统信 | 麒麟 | 中科方德

原文链接:国产操作系统上Vim的详解03--使用Vundle插件管理器来安装和使用插件 | 统信 | 麒麟 | 中科方德Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用Vundle插件管理器来安装和使用Vim插件的详解文章。Vundle是Vim的一款强大的插件管理器,可以帮助我们轻松地安...

HTML5+眼球追踪?黑科技颠覆传统手机体验

今天,iH5工具推出一个新的神秘功能——眼动追踪,可以通过摄像头捕捉观众眼球活动!为了给大家具体演示该功能的使用,我做了一个案例,供大家参考。实际效果如下:案例比较简单,就是通过眼动功能获取视觉焦点位置,剔除用户看中的牌。现在,舞台的属性中多了一个“启用眼动”的选项,另外,还多了一个“启用摄像头”的...

一文让你彻底搞懂 vue-Router

路由是网络工程里面的专业术语,就是通过互联把信息从源地址传输到目的地址的活动。本质上就是一种对应关系。分为前端路由和后端路由。后端路由:URL 的请求地址与服务器上的资源对应,根据不同的请求地址返回不同的资源。前端路由:在单页面应用中,根据用户触发的事件,改变URL在不刷新页面的前提下,改变显示内容...