news 2026/4/18 10:08:13

SQL的基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL的基础

SQL的基础语句

select语句

使用形式:SELECT column1, column2, ... FROM table_name WHERE condition;

select * from student where sex=’男’;

其中,SELECT关键字用于指定要查询的列,可以使用*代表所有列;FROM关键字用于指定要查询的表;WHERE关键字用于指定查询的条件。

insert语句

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

其中,table_name是要插入数据的表名,column1、column2等是表中的列名,value1、value2等是要插入的值。

update语句

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE some_column = some_value;

其中,table_name是要更新数据的表名,column1、column2等是要修改的列名,value1、value2等是要修改的值,WHERE子句是用于指定要更新的行的条件。

delete语句

DELETE FROM table_name WHERE some_column = some_value;

其中,table_name是要删除数据的表名,WHERE子句是用于指定要删除的行的条件。

注意:如果不指定条件相当于删除表中所有数据

SQL基本查询

where子句

WHERE子句是结构化查询语言(SQL)中用于筛选数据的关键字。通过WHERE子句,您可以指定一个或多个条件来限制从数据库中检索的数据行。以下是WHERE子句的使用方式:

SELECT * FROM table_name WHERE some_column = some_value;

操作符:

WHERE子句可以使用以下比较运算符:

=(等于)

<(小于)

>(大于)

<=(小于或等于)

>=(大于或等于)

<>或!=(不等于)

还可以使用逻辑运算符(AND、OR和NOT)来组合多个条件。例如:

SELECT * FROM students WHERE sex = ‘男’ and age > 23;

模糊搜索

-- 多字符匹配 SELECT * FROM students WHERE clazz like 'xx%' -- 单字符匹配 SELECT * FROM students WHERE stu_name LIKE '张_'; -- 多关键词匹配:找姓名含“张”或“李”或“王”的学生 SELECT * FROM students WHERE name RLIKE '张|李|王' -- 范围匹配:找姓名含“张”且后面跟1-2个字符的学生(如“张三”“张三丰”) SELECT * FROM students WHERE name RLIKE '张.{1,2}';

in

返回选项中的内容

select * from students where clazz in ('xx','xx','xx');

BETWEEN AND

返回年龄在22到24的学生

select * from students where age BETWEEN 22 AND 24;

order by子句

ORDER BY子句用于对查询结果按照一个或多个列进行排序。它接受一个或多个列名或表达式作为参数,并可指定每个列的排序方式(ASC:升序,DESC:降序)。语法如下:

SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...

group by子句

GROUP BY子句用于将查询结果按照一个或多个列进行分组,并对每个组进行聚合计算(如COUNT、SUM、AVG等)。语法如下:

SELECT column1, column2, ..., avg(column_name) FROM table_name GROUP BY column1, column2, ...
-- 嵌套where select * from (SELECT column1, column2, ..., aggregate_function(column_name) f FROM table_name GROUP BY column1, column2, ...) as t1 where t1.f > xxx;

having子句

HAVING子句用于对分组后的结果进行过滤,只返回符合条件的分组。它接受一个或多个聚合函数作为参数,并可指定每个函数的过滤条件。语法如下:

SELECT column1, column2, ..., aggregate_function(column_name) FROM table_name GROUP BY column1, column2, ... HAVING condition;

limit子句

LIMIT用于限制查询结果集的行数,其中,number是你想要返回的行数。其语法如下:

SELECT column1, column2, ... FROM table_name LIMIT number;
-- 多行查询 从number1起 limit number2个 SELECT column1, column2, ... FROM table_name LIMIT number1,number2;

offsite子句

OFFSET用于指定查询结果集的偏移量。

其中,number是你想要返回的行数,offset_num是从查询结果集的起始位置偏移的行数。

SELECT column1, column2, ... FROM table_name LIMIT number OFFSET offset;

数据连接

内连接 join | inner join

SELECT s.*, sc.subject_id, su.subject_name FROM ( students s JOIN scores sc JOIN subjects su ON s.stu_id = sc.stu_id and sc.subject_id = su.subject_id );

外连接 left join / right join / full join

# 在score末行添加一个假数据 # 2000 1 100 期末 SELECT * FROM( students as s RIGHT JOIN scores as sc ON s.stu_id = sc.stu_id );

union 操作

先拼接,再去重(删除重复行)

-- 合并“成绩≥90”和“成绩≤60”的学生信息(UNION 自动去重) SELECT s.stu_id, s.stu_name, sc.score, su.subject_name FROM students s JOIN scores sc ON s.stu_id = sc.stu_id JOIN subjects su ON sc.subject_id = su.subject_id WHERE sc.score >= 90 UNION SELECT s.stu_id, s.stu_name, sc.score, su.subject_name FROM students s JOIN scores sc ON s.stu_id = sc.stu_id JOIN subjects su ON sc.subject_id = su.subject_id WHERE sc.score <= 60 ORDER BY score DESC;

union all操作

直接拼接结果,不做任何去重 / 排序

-- 添加一个student 张三 19 SELECT name FROM students WHERE age = 20 UNION ALL SELECT name FROM students WHERE age = 19;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:23:08

MATLAB基于RSM和MOGWO的440C不锈钢外圆磨削参数优化

一、 问题定义与优化目标 工件材料&#xff1a; 440C不锈钢 特性&#xff1a; 高碳马氏体不锈钢&#xff0c;高硬度&#xff08;HRC 58-60&#xff09;&#xff0c;高耐磨性&#xff0c;但导热性差&#xff0c;磨削时易产生&#xff1a; 磨削烧伤&#xff08;热损伤&#xff09…

作者头像 李华
网站建设 2026/4/18 7:32:14

SQLite Glob 子句详解

SQLite Glob 子句详解 概述 SQLite 是一款轻量级的数据库管理系统,以其简洁的设计和强大的功能深受用户喜爱。在 SQLite 中,Glob 子句是一个非常有用的特性,它允许用户使用通配符进行模糊查询。本文将详细介绍 SQLite 的 Glob 子句,包括其工作原理、语法以及应用场景。 …

作者头像 李华
网站建设 2026/4/17 17:43:24

ionic 单选框操作指南

ionic 单选框操作指南 引言 在移动应用开发中,单选框(Radio Button)是一种常见的用户界面元素,用于让用户从一组选项中选择一个选项。Ionic框架作为一款流行的移动端UI框架,提供了丰富的组件来帮助开发者构建高性能的移动应用。本文将详细介绍如何在Ionic中使用单选框,…

作者头像 李华
网站建设 2026/4/18 7:01:42

08_C 语言进阶之面向对象编程:模块化及抽象思维 —— 用过程式语言构建面向对象的世界

C 语言进阶之面向对象编程:模块化及抽象思维 —— 用过程式语言构建面向对象的世界 一、C 语言真的不能搞面向对象吗? “C 语言是过程式语言,只能写面条代码?” “项目变大后,C 代码耦合度高、维护难,难道只能转 C++?” “想实现代码复用、数据封装,C 语言有没有优…

作者头像 李华
网站建设 2026/4/14 16:08:16

我在学c语言分支和循环的见解和踩过的坑

在这篇blog中我将边讲解边说说我遇到的困难&#xff0c;我将分为12个点来论述&#xff1b;1. if语句 2. 关系操作符 3. 条件操作符 4. 逻辑操作符&#xff1a;&& , || , &#xff01; 5. switch语句 6. while循环 7. for循环 8. do-while循环 9. break和continue语句 1…

作者头像 李华
网站建设 2026/4/5 11:40:23

简单使用FalkorDB和Neo4j图数据库

简单使用FalkorDB图数据库 1 介绍 FalkorDB 是一个通过稀疏矩阵和线性代数实现高性能查询的图数据库&#xff0c;专注于为LLM和企业级GraphRAG应用提供超低延迟的知识图谱服务。对中文的支持不太好。 # 官网 https://www.falkordb.com/# 官方文档 https://docs.falkordb.com/#…

作者头像 李华