啃下这50道笔试题,你就是SQL专家!(附答案,收藏备用)

【关注微信公众号:跟强哥学SQL,回复“笔试”免费领取大厂SQL笔试题。】

有两个名为Department(部门)和Employees(员工)的表结构如下: 

CREATE TABLE Department (    DepId int,    DepName varchar (255),    ParentDepID int);CREATE TABLE Employees (    ID int,    Name varchar (255),    Age int,    Birthday date,    Address varchar (255),    Salary decimal (18, 2),    ManagerId int,    DepID int);

题目1:插入数据

题目:在Employees表中插入一条数据,ID为1, Name为’TOM', Age为30,出生日期为1990年3月10日,Address为’Guangzhou',Salary为8000,ManagerId为3,DepID为1。

答案

INSERT INTO Employees VALUES (1, 'TOM', 30, 'Guangzhou', 8000.00, 3, 1);INSERT INTO Employees (ID, Name, Age, Birthday, Address, Salary, ManagerId, DepID) VALUES (1, 'TOM', 30, '1990-03-10', 'Guangzhou', 8000.00, 3, 1);

解析:这是基本的插入语句,可以将需要插入的值放在VALUES()内,字段顺序与TABLE定义顺序匹配。

题目2:修改数据

题目:更新Employees表中ID为1的员工的工资为9000。

答案

UPDATE Employees SET Salary = 9000 WHERE ID = 1;

:使用Update语句进行数据的更新。可以通过Where子句限定需要修改的行。

题目3:删除数据

题目:删除Employees表中ID为1的全部信息。

答案

DELETE FROM Employees WHERE ID = 1;

:使用DELETE语句删除特定的行,可以通过WHERE子句找到ID为1的行并删除。

题目4:单表查询

题目:查找Employees表中所有员工的ID和Name。

答案

SELECT ID, Name FROM Employees;

:使用SELECT语句实现单表查询,选择想要显示的字段名称。

题目5:条件查询

题目:查找Employees表中所有薪水大于1万的员工的ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE Salary > 10000;

:使用WHERE语句,可以精确筛选出满足条件的数据。

题目6:组合条件查询(AND)

题目:查找Employees表中所有薪水大于1万且年龄在30岁及以下的员工的ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE Salary > 10000AND Age <= 30;

:在WHERE语句中使用AND关键字组合多个条件,可以查询出同时满足多个条件的数据。

题目7:组合条件查询(OR)

题目:查找Employees表中所有薪水大于1万或年龄在30岁及以下的员工的ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE Salary > 10000OR Age <= 30;

:在WHERE语句中使用OR关键字组合多个条件,可以查询出满足任意一个条件的数据。

题目8:复杂组合条件查询(AND + OR)

题目:查找Employees表中所有年龄在30岁及以下的员工中薪水大于3万或小于5000的员工ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE (Salary > 30000OR Salary < 5000)AND Age <= 30;

:在WHERE语句中使用AND和OR关键字,可以实现多个条件的复杂组合,此时可以使用小括号将多个条件放在一起优先计算。

题目9:字段拼接

题目:查询Employees表,以“ID:Name”格式显示员工的ID、Name。

答案

SELECT CAST(ID as CHAR) || ':' || NameFROM Employees;SELECT CONCAT(CAST(ID as CHAR), ':', Name)FROM Employees;

:使用||或CONCAT可以将多个字符串值拼接在一起。注意,如果待拼接的值不是字符串类型,需要使用转换函数进行转换后拼接。

题目10:数值计算

题目:为所有员工加薪10%。

答案

UPDATE EmployeesSET Salary = Salary * 1.1;

:对于数值类字段,可以进行加、减、乘、除等数值计算。

题目11:数据分段

题目:以小于1万、1万至3万、3万以上显示所有员工的薪水区间而不是具体的薪水。

答案

SELECT ID,    CASE WHEN Salary <= 10000 THEN '小于1万'         WHEN Salary >= 30000 THEN '3万以上'         ELSE '1万至3万' ENDFROM Employees

:可以使用CASE WHEN关键字,对满足不同条件的值转换返回值。

题目12:多表查询(内连接)

题目:查询Employees表和Department表,显示员工的姓名、部门名称。

答案

SELECT e.Name, d.DepNameFROM Employees e INNER JOIN Department d ON e.DepId = d.DepId;

:这是一个基础的内连接查询,用于组合来自两个或更多表的行。当关联属性在参与连接的两张表中都存在时,数据才返回。

题目13:多表查询(左连接)

题目:查询Employees表和Department表,显示员工的姓名、部门名称。即使某员工未归属到任意一个部门下,也需要显示。

答案

SELECT e.Name, d.DepNameFROM Employees e LEFT JOIN Department d ON e.DepId = d.DepId;

:这是一个基础的左连接查询,用于组合来自两个或更多表的行。当关联属性在参与连接的右表中不存在时,左表的数据也会返回,但来自右表的属性会显示为NULL。

题目14:多表查询(右连接)

题目:查询Employees表和Department表,显示员工的姓名、部门名称。即使某员工未归属到任意一个部门下,也需要显示。

答案

SELECT e.Name, d.DepNameFROM  Department dRIGHT JOIN Employees e ON d.DepId = e.DepId;

:这是一个基础的右连接查询,它等价于题目6。

题目15:排序查询(升序)

题目:查询所有员工ID及员工姓名,并以薪水从低到高排序。

答案

SELECT ID, Name FROM EmployeesORDER BY Salary;SELECT ID, Name FROM EmployeesORDER BY Salary ASC;

:使用SELECT语句提取员工ID及员工姓名,并通过ORDER BY关键字按照薪水进行升序排序。

题目16:排序查询(降序)

题目:查询所有员工ID及员工姓名,并以薪水从高到低排序。

答案

SELECT ID, Name FROM EmployeesORDER BY Salary DESC;

:使用SELECT语句提取员工ID及员工姓名,并通过ORDER BY关键字按照薪水进行降序排序。

题目17:排序查询(组合排序)

题目:查询所有员工ID及员工姓名,并以薪水从高到低、员工ID从小到大排序。

答案

SELECT ID, Name FROM EmployeesORDER BY Salary DESC, ID ASC;

:使用SELECT语句提取员工ID及员工姓名,并通过ORDER BY关键字按照薪水降序、员工ID升序进行排序。

题目18:查询前N行

题目:查询所有员工ID及员工姓名,并以薪水从高到低排序,返回前10名。

答案

SELECT ID, Name FROM EmployeesORDER BY Salary DESCLIMIT 10;

:使用LIMIT可以返回前N行。

题目19:分页查询

题目:查询所有员工ID及员工姓名,并以薪水从高到低排序,每10人为1页,返回第3页的数据。

答案

SELECT ID, Name FROM EmployeesORDER BY Salary DESCLIMIT 20,10;

:使用LIMIT时,可以先指定跳过的行数,再指定返回的行数。

题目20:自关联

题目:查询所有员工ID、员工姓名以及经理ID、经理姓名。

答案

SELECT a.ID, a.Name, a.ManagerId, b.NameFROM Employees aINNER JOIN Employees bON a.ManagerId = b.ID;

:自己与自己关联,被称为自关联。常用于上下级等层级关系的查询中。

题目21:集合运算(UNION)

题目:返回所有薪水大于1万或年龄小于30的员工ID、员工姓名。同时满足两个条件的员工,仅返回1条记录。

答案

SELECT ID, Name FROM EmployeesWHERE Salary > 10000UNIONSELECT ID, Name FROM EmployeesWHERE Age < 30;

:使用UNION关键字,可以返回两个集合的并集。在返回之前会将相同的记录去重。

题目22:集合运算(UNION ALL)

题目:返回所有薪水大于1万或年龄小于30的员工ID、员工姓名。同时满足两个条件的员工,返回2条记录。

答案

SELECT ID, Name FROM EmployeesWHERE Salary > 10000UNION ALLSELECT ID, Name FROM EmployeesWHERE Age < 30;

:使用UNION ALL关键字,可以返回两个集合的并集。在返回之前不会将相同的记录去重。

题目23:集合运算(EXCEPT或MINUS)

题目:返回薪水大于1万但年龄不小于30的员工ID、员工姓名。

答案

SELECT ID, Name FROM EmployeesWHERE Salary > 10000EXCEPTSELECT ID, Name FROM EmployeesWHERE Age < 30;

:使用EXCEPT关键字,可以从一个集合中排除部分数据。

题目24:集合运算(INTERSECT)

题目:返回薪水大于1万且年龄小于30的员工ID、员工姓名。

答案

SELECT ID, Name FROM EmployeesWHERE Salary > 10000INTERSECTSELECT ID, Name FROM EmployeesWHERE Age < 30;

:使用INTERSECT关键字,可以返回两个集合的交集。

题目25:模糊查询(包含关键字)

题目:查询所有名字中包含“磊”字的员工ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE Name LIKE '%磊%';

:LIKE关键字可以实现模糊查询,%通配符用来匹配任意多个任意字符。

题目26:模糊查询(以*开头)

题目:查询所有姓王的员工ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE Name LIKE '王%';

:使用LIKE关键字,可以查询出指定前缀字符的数据。

题目27:模糊查询(以*结尾)

题目:查询所有姓名最后一个字为“磊”的员工ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE Name LIKE '%磊';

:使用LIKE关键字,可以查询出指定后缀字符的数据。

题目28:模糊查询(第二个字符为指定符号)

题目:查询所有姓名第二个字为“磊”的员工ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE Name LIKE '_磊%';

:_下划线通配符用来匹配任意一个字符。

题目29:模糊查询(至少有3个字符)

题目:查询所有姓名至少为3个字的员工ID和Name。

答案

SELECT ID, Name FROM EmployeesWHERE Name LIKE '___%';

:___三个下划线用来匹配任意3个字符。

题目30:子查询(IN)

题目:查询薪水在3万元以上的员工所在的部门ID和部门名称。

答案

SELECT DepId, DepNameFROM DepartmentWHERE DepId IN (    SELECT DepID    FROM Employees    WHERE Salary > 30000);

:使用IN关键字,可以查询存在于某个集合中的数据。

题目31:子查询(NOT IN)

题目:查询薪水在5000元以下的员工所在的部门ID和部门名称。

答案

SELECT DepId, DepNameFROM DepartmentWHERE DepId NOT IN (    SELECT DepID    FROM Employees    WHERE Salary > 5000);

:使用NOT IN关键字,可以查询不存在于某个集合中的数据。

题目32:子查询(EXISTS)

题目:查询薪水在3万元以上的员工所在的部门ID和部门名称。

答案

SELECT DepId, DepNameFROM Department aWHERE EXISTS (    SELECT 1    FROM Employees b    WHERE b.Salary > 30000    AND a.DepId = b.DepId);

:使用EXISTS关键字,可以查询满足某些条件的数据。

题目33:子查询(NOT EXISTS)

题目:查询不存在薪水在3万元以上的员工的部门ID和部门名称。

答案

SELECT DepId, DepNameFROM Department aWHERE NOT EXISTS (    SELECT 1    FROM Employees b    WHERE b.Salary > 30000    AND a.DepId = b.DepId);

:使用NOT EXISTS关键字,可以查询不满足某些条件的数据。

题目34:子查询(SELECT中的子查询)

题目:查询员工ID、员工姓名以及员工所在的部门ID和部门名称。

答案

SELECT ID, Name, DepId,    (        SELECT b.DepName FROM Department b        WHERE a.DepId = b.DepId    )FROM Employees a;

:在SELECT子句中也可以使用子查询。不过要注意,子查询中查询到满足条件的数据只能小于等于1条,否则查询可能会报错。

题目35:聚合函数(MIN)

题目:查询所有员工中的最小年龄。

答案

SELECT MIN(Age)FROM Employees a;

:使用聚合函数MIN,可以查询出最小值。

题目36:聚合函数(MAX)

题目:查询所有员工中的最大年龄。

答案

SELECT MAX(Age)FROM Employees a;

:使用聚合函数MAX,可以查询出最大值。

题目37:聚合函数(AVG)

题目:查询所有员工中的平均年龄。

答案

SELECT AVG(Age)FROM Employees a;

:使用聚合函数AVG,可以查询出平均值。

题目38:聚合函数(COUNT)

题目:查询总的员工。

答案

SELECT COUNT(ID)FROM Employees a;SELECT COUNT(1)FROM Employees a;

:使用聚合函数COUNT,可以对值进行计数(计数时,不计算NULL值)。

题目39:聚合函数(SUM)

题目:查询所有员工的总薪水。

答案

SELECT SUM(Salary)FROM Employees a;

:使用聚合函数SUM,可以对数值进行求和。

题目40:分组聚合(GROUP BY)

题目:查询每个部门下所有员工的总薪水。

答案

SELECT DepId,SUM(Salary)FROM Employees aGROUP BY DepId;

:使用GROUP BY关键字及聚合函数,可以实现将相同部门的员工分组后聚合。

题目41:对聚合结果进行筛选(HAVING)

题目:查询平均薪水大于3万的部门。

答案

SELECT DepId,SUM(Salary)FROM Employees aGROUP BY DepIdHAVING SUM(Salary) > 30000;

:使用HAVING关键字,可以对聚合后的结果进行筛选。

题目42:极值查询(查询最大值)

题目:查询薪水最大的所有员工。

答案

SELECT *FROM Employees aWHERE Salary IN (    SELECT MAX(Salary) FROM Employees );

:先查出最大值,然后再筛选薪水为最大值的员工。

题目43:极值查询(查询最小值)

题目:查询薪水最少的所有员工。

答案

SELECT *FROM Employees aWHERE Salary IN (    SELECT MIN(Salary) FROM Employees );

:先查出最小值,然后再筛选薪水为最小值的员工。

题目44:分析函数(ROW_NUMBER)

题目:查询每个部门薪水前3名的员工。即使薪水相同,也只返回前3名。

答案

SELECT ID,RNFROM (    SELECT        ID,        ROW_NUMBER() OVER(PARTITION BY DepId ORDER BY Salary DESC) RN    FROM Employees)aWHERE RN <= 3;

:先使用PARTITION BY关键字按部门分组,再使用ROW_NUMBER和ORDER BY计算出每位员工的排名,最后只筛选出前3名。当薪水相同时,随机排名,所以返回的排名是连续且不重复的。

题目45:分析函数(RANK)

题目:查询每个部门薪水前3名的员工。薪水相同,返回的排名相同,但只返回前3名。

答案

SELECT ID,RNFROM (    SELECT        ID,        RANK() OVER(PARTITION BY DepId ORDER BY Salary DESC) RN    FROM Employees)aWHERE RN <= 3;

:先使用PARTITION BY关键字按部门分组,再使用RANK和ORDER BY计算出每位员工的排名,最后只筛选出前3名。当薪水相同时,排名相同,但下一个排名序号将会被略过,所以返回的排名是不连续且重复的。

题目46:分析函数(DENSE_RANK)

题目:查询每个部门薪水前3名的员工。薪水相同,返回的排名相同,排名需连续。

答案

SELECT ID,RNFROM (    SELECT        ID,        DENSE_RANK() OVER(PARTITION BY DepId ORDER BY Salary DESC) RN    FROM Employees)aWHERE RN <= 3;

:先使用PARTITION BY关键字按部门分组,再使用DENSE_RANK和ORDER BY计算出每位员工的排名,最后只筛选出前3名。当薪水相同时,排名相同,且下一个排名序号不会被略过,所以返回的排名是连续且重复的。

题目47:去重(GROUP BY)

题目:查询每个部门下各有哪些年龄。

答案

SELECT DepId,AgeFROM EmployeesGROUP BY DepId,Age;

:GROUP BY关键字用于分组,同一分组因为数值相同,所以只返回一条记录。

题目48:去重(DISTINCT)

题目:查询每个部门下各有哪些年龄。

答案

SELECT DISTINCT DepId,AgeFROM Employees;

:DISTINCT关键字可以对指定的字段值直接进行去重。

题目49:随机采样查询

题目:从员工表中随机返回10条记录,要求每次返回的结果尽量随机分布。

答案

SELECT * FROM EmployeesORDER BY RAND()LIMIT 10;

:RAND函数返回一个0~1之间的随机值,使用随机值排序,可以保证每次返回的行都是随机的。

题目50:日期函数转换

题目:统计出每个年份出生的员工数。

答案

SELECT DATE_FORMAT(Birthday, '%Y'),count(*)FROM EmployeesGROUP BY DATE_FORMAT(Birthday, '%Y');

:Birthday字段的值为DATE类型,包含具体的年、月、日,所以在分组聚合前,需要使用DATE_FORMAT函数将DATE类型格式化取出年份后再统计。

【关注微信公众号:跟强哥学SQL,回复“笔试”免费领取大厂SQL笔试题。】 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑两阶段鲁棒优化配置的多微网合作博弈》

这个标题涉及到多个概念&#xff0c;让我们逐步解读&#xff1a; 考虑两阶段鲁棒优化配置&#xff1a; 两阶段&#xff1a; 指的是在解决问题或进行优化时&#xff0c;可能存在两个不同的阶段或步骤。这表明问题的解决不是一步完成的&#xff0c;而是需要经过多个步骤或阶段。鲁…

前端学习系列之CSS

目录 CSS 简介 发展史 优势 基本语法 引用方式 内部样式 行内样式 外部样式 选择器 id选择器 class选择器 标签选择器 子代选择器 后代选择器 相邻兄弟选择器 后续兄弟选择器 交集选择器 并集选择器 通配符选择器 伪类选择器 属性选择器 CSS基本属性 优…

virtualenv创建虚拟环境

目录 概念安装创建虚拟环境激活虚拟环境删除虚拟环境退出虚拟环境更改虚拟环境路径概念 virtualenv是一个创建隔离的Python运行环境的工具。它允许用户为每个Python项目创建一个独立的虚拟环境,以避免不同项目之间的依赖冲突。 安装 pip install virtualenv virtualenvwrapper…

JS如何实现竖屏轮播图

首先是HTML搭建结构 <div class"banner-box"><div class"bannerbox"><div class"banner"><a class"a-img-ban"> <img class"img-ban" src"./img/640 (4).jpg" alt"终于等到你还…

SpringBoot项目访问resources下的静态资源

1.新建一个配置文件夹&#xff0c;放配置类 2.编辑 WebMvcConfig.java package com.southwind.configuration;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import or…

openlayers地图使用---跟随地图比例尺动态标绘大小的一种方式3

openlayers地图使用—跟随地图比例尺动态标绘大小的一种方式 预期&#xff1a;随着地图比例尺放大缩小&#xff0c;地图上的标绘随着变化尺寸 思路&#xff1a;通过VectorImage和动态修改Feature尺寸实现Feature跟随地图比例尺尺寸变化 优点&#xff1a;结合第1和第2种方式的…

openlayers地图使用---跟随地图比例尺动态标绘大小的一种方式2

openlayers地图使用—跟随地图比例尺动态标绘大小的一种方式2 预期&#xff1a;随着地图比例尺放大缩小&#xff0c;地图上的标绘随着变化尺寸 思路&#xff1a;通过不断添加地图图层实现标绘的动态缩放 优点&#xff1a;标绘放大缩小非常流畅 缺点&#xff1a;标绘超过1000…

LangChain 22 LangServe用于一键部署LangChain应用程序

LangChain系列文章 LangChain 实现给动物取名字&#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储&#xff0c;读取YouTube的视频文本搜索I…

等待和通知

引入 由于线程是抢占式执行的,因此线程之间的执行的先后顺序难以预知 但是实际开发中我们希望合理协调多个线程之间执行的先后顺序. 这里的干预线程先后顺序,并不是影响系统的调度策略(内核里调度线程,仍然是无序调度). 就是相当于在应用程序代码中,让后执行的线程主动放弃被…

3DCAT+上汽奥迪:打造新零售汽车配置器实时云渲染解决方案

在 5G、云计算等技术飞速发展的加持下&#xff0c;云渲染技术迎来了突飞猛进的发展。在这样的背景下&#xff0c;3DCAT应运而生&#xff0c;成为了业内知名的实时云渲染服务商之一。 交互式3D实时云看车作为云渲染技术的一种使用场景&#xff0c;也逐步成为一种新的看车方式&a…

设备温度和振动综合监测:温振一体式传感器的优点和应用

随着工业设备的复杂性和自动化程度的提高&#xff0c;对设备状态监测的需求也日益增加。温振一体式传感器作为一种集振动和温度监测于一体的传感器&#xff0c;具备多项优势&#xff0c;因此在工业设备状态监测领域得到广泛应用。 温振一体式传感器基于振动传感器和温度传感器的…

1380 一笔画问题

如果一个无向图存在一笔画&#xff0c;则一笔画的路径叫做欧拉路&#xff0c;如果最后又回到起点&#xff0c;那这个路径叫做欧拉回路。 #include<bits/stdc.h> using namespace std; #define N 510 int g[N][N],d[N],c[N],n,m,reckon,oddity_point,lt; void dfs(int i)…

网络运维与网络安全 学习笔记2023.12.1

网络运维与网络安全 学习笔记 第三十二天 今日目标 ACL原理与类型、基本ACL配置、高级ACL配置 高级ACL之ICMP、高级ACL之telnet ACL原理与类型 项目背景 为了企业的业务安全&#xff0c;要求不同部门对服务器有不同的权限 PC1不能访问Server PC2允许访问Server 允许其他所…

java中用Thead创建线程和用Runnable创建线程的区别是什么?

在 Java 中&#xff0c;创建线程的两种主要方式是通过继承 Thread 类和通过实现 Runnable 接口。下面是它们之间的主要区别&#xff1a; 1. 继承 Thread 类&#xff1a; class MyThread extends Thread {public void run() {// 线程执行的代码} }// 创建并启动线程 MyThread …

043:vue项目一直出现 sockjs-node/info?t=XX的解决办法

第043个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

Linux文件系统与基础IO

文章目录 1 C文件接口1.1 fopen1.2 fwrite、fread、rewind、fclose 2 文件系统调用2.1 open2.1.1 参数2&#xff1a;flags2.1.2 参数3&#xff1a;mode2.1.3 返回值——file descriptor 2.2 write2.3 read2.4 close 3 文件的本质3.1 struct file3.2 一个进程如何与多个文件相关…

数据分析入门语言:选择SQL还是Python?如何选择你的第一门编程语言?

【关注微信公众号&#xff1a;跟强哥学SQL&#xff0c;回复“笔试”免费领取大厂SQL笔试题。】 如今数据爆炸的时代&#xff0c;掌握一门数据分析的编程语言变得愈发重要。 而随着SQL和Python在数据分析领域的持续火热&#xff0c;许多初学者面临着一个共同的问题&#xff1a;…

Python 日志指南

目录 日志指南 日志基础教程 什么时候使用日志 一个简单的例子 记录日志到文件 从多个模块记录日志 记录变量数据 更改显示消息的格式 在消息中显示日期/时间 后续步骤 进阶日志教程 记录流程 记录器 处理器 格式器 配置日志记录 如果没有提供配置会发生什么 …

QLoRA论文概述

QLORA: Efficient Finetuning of Quantized LLMs QLoRA论文概述前言&#xff08;省流版本&#xff09;摘要论文十问实验实验1数据集和模型实验结论 实验2数据集和模型实验结论 局限性模型尺度数据集其他微调方法 QLoRA论文概述 前言&#xff08;省流版本&#xff09; 微调需要…

期末速成数据库极简版【查询】(2)

目录 select数据查询----表 【1】筛选列 【2】where简单查询 【3】top-n/distinct/排序的查询 【4】常用内置函数 常用日期函数 常用的字符串函数 【5】模糊查询 【6】表数据操作——增/删/改 插入 更新 删除 【7】数据汇总 聚合 分类 ​ &#x1f642;&#…