sql基础笔记(下)

目录

第七章:聚合函数/分组函数☆☆☆

1.count 计数

2.sum求和

3.avg 平均值

4.max 最大值

5.min最小值

知识点:聚合函数自动 忽略null;

第八章:group by 分组

第九章 单行函数

1⃣️.字符函数

concat拼接字符串

大小写转换

substr 截取字符串

2⃣️.数学函数

知识点:取整

知识点:truncate 截取 无四舍五入

3⃣️.日期函数

-- 其他日期函数

第十章 链接查询

内连接分为三种:

知识点:内连接值之非等值链接

知识点: 内链接之自链接

知识点:外链接

知识点:10.9 三张表及以上的链接

第十一章 嵌套子查询


第七章:聚合函数/分组函数☆☆☆

聚合函数一共有五个:多行处理函数

多行函数的特点:对多行进行处理,返回一行结果

1.count 计数

语法结构:

应用:

--查询emp表中一共有多少人

select count(*) from emp;

___________________________________________________________________________________

2.sum求和

语法结构:

应用:

-- 查询emp表中员工的工资总和

select sum(sal) from emp;

___________________________________________________________________________________

3.avg 平均值

语法结构:

应用:

-- 求整个公司的员工平均薪资

select avg(sal) from emp;

___________________________________________________________________________________

4.max 最大值

语法结构:

应用:

--查询整个公司的最高工资

select max(sal) from emp;

___________________________________________________________________________________

5.min最小值

语法结构:

应用:

-- 查询这个公司的最低工资

select min(sal) from emp;

-- 查询这个公司最早入职的员工姓名和入职日期

select ename,min(hiredate)from emp;

___________________________________________________________________________________

知识点:聚合函数自动 忽略null;

语法结构:

应用:

-- 查询emp表中一共有多少人

select count(*) from emp;

& count中不能写空值的字段

select count(comm) from emp;

-- 统计emp中有津贴的员工数量

select count(comm) from emp where comm !=0; & 入职日期可以比较大小,也可以计算

--查询这个公司最晚入职的员工的入职日期.

select max(hiredate)from emp;

___________________________________________________________________________________

知识点:聚合函数-count(*)和count(字段)的区别☆☆☆

count(*)统计表里有多少天数据

count(字段):统计的是该字段有多少个非空值

语法结构:

应用:

__________________________________________________________________________________

ifnuff 的使用 (聚合函数-xxx+null=null)

语法结构:

应用:

-- 统计emp表中每个员工的姓名和他的总工资

select ename,sal+comm from emp; 这个结果不符合要求

解决办法:使用 ifnull函数

空处理函数:ifnull(可能有null的字段,被当做什么数处理)

select ename,sal+ifnull(comm,0) from emp; &null 相关词组

-- 年底涨薪了,所有员工的津贴都涨200;请查询涨薪后的津贴情况;

select ifnull(comm,0)+200 from emp;

select ename,comm ifnull(comm,0) from emp;

select ename,comm from

--查询表emp中所有员工的年薪(包含津贴),并把查询的字段改为年薪;

select (sal+ifnull(comm,0))*12 年薪 from emp;

--给没有津贴的员工涨薪200 (津贴为0的还是为0)

select ifnull(comm,200) from emp;

___________________________________________________________________________________

知识点:聚合函数不能直接在where子句中使用☆☆☆

-- 查询表emp中员工工资大于平均工资的员工姓名和薪水;

select ename,sal from emp where sal>avg(sal); ×××

用group by +having

语法结构:

应用:

___________________________________________________________________________________

知识点:聚合函数--组合使用/汇总写法

语法结构:

应用:

--查询emp表中员工的最高,最低和薪水的平均值;

select max(sal),min(sal),avg(sal);×

select max(sal),min(sal),avg(sal) from emp;√

___________________________________________________________________________________

知识点:数据去重distinct

语法结构:

应用:

--1.表emp中工种有哪些?

select job frop emp; ××

select distinct job from emp;

--2.表emp中员工部门有哪些?

select distinct deptno from emp;

__________________________________________________________________________________

第八章:group by 分组

语法结构:select 字段 from 表名 where 条件 group by 分组 order by 排序;

什么时候用分组? 需求含义有“每“”每个“”各个“

分组之后,select 后面只能有被分组的字段(聚合函数除外)

换句话说,select 后面不能查询未被分组的字段

&易错(查找易错符号编辑判断题)

group by --单字段分组

应用:

-- 找出公司的最高薪资

select max(sal) from emp;

-- 公司有哪些岗位

select distinct job from emp;

-- 找出每个岗位的最高薪资

select max(sal) from emp group by job;

-- 求出每个部门的平均薪资

select avg(sal) from emp group by deptno;

select avg(sal),deptno from emp group by deptno;

___________________________________________________________________________________

group by--多字段分组

语法结构:

& 如果被分组的字段顺序发生改变,对结果有影响吗?

解:无影响

select deptno,job,avg(sal) from emp group by job,deptno;下表,与原表一致;

select job,deptno,avg(sal) from emp group by deptno,job;

应用:

-- 求出每个部门的平均薪资

select avg(sal) from emp group by deptno;

-- 求出每个部门每个岗位的平均薪资;

select deptno,job,avg(sal) from emp group by deptno,job; & group by 后面的分组字段顺序可以不一致

--查询每个部门每个岗位的平均入职时间;

select deptno,job avg(hiredate) from emp group by deptno,job; ×少了个,

select deptno,job,avg(hiredate) from emp group by de

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: SQL基础教程是一本系统介绍SQL语言的教材,下面是我整理的一些笔记。 首先,SQL是Structured Query Language(结构化查询语言)的缩写,是一种用于管理和操作关系型数据库的计算机语言。 SQL语言包括了对数据库进行增、删、改、查的操作。其中,增操作使用INSERT语句,可以将新的数据插入到数据库中。删操作使用DELETE语句,可以删除数据库中的数据。改操作使用UPDATE语句,可以修改数据库中已有的数据。查操作使用SELECT语句,可以从数据库中查询所需数据。 在SQL中,还存在着一些操作符,如等于(=)、不等于(<>)、大于(>)、小于(<)、AND(并且)、OR(或者)等,用于帮助我们实现更复杂的查询条件。 SQL还提供了一些函数,如SUM、COUNT、AVG、MAX和MIN等,用于对数据进行统计和计算。 此外,SQL还提供了一些关键字,如DISTINCT、ORDER BY、GROUP BY等,用于进一步操作查询结果,实现去重、排序和分组等需求。 除了查询语句,SQL还支持多表联结查询,通过JOIN语句可以将多个表连接起来,在查询结果中展示多个表的数据。 在使用SQL语言操作数据库时,需要注意一些安全性问题。比如,应该使用参数化查询,防止SQL注入攻击。同时,对于敏感的数据,应该限制访问权限,保证数据的安全性。 总而言之,SQL基础教程是一个可以帮助我们深入学习和理解SQL语言的教材。通过学习这个教程,我们可以掌握SQL的基本语法、常用操作符、函数和关键字,进而能够熟练地使用SQL进行数据库管理和操作。 ### 回答2: SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于管理和操作关系型数据库的标准语言。下面是我对《SQL基础教程》的笔记总结: 这本教程首先介绍了SQL的基本概念和发展历史,以及SQL数据库管理系统中的重要性。然后,详细说明了SQL的语法规则和常用命令,包括SELECT、INSERT、UPDATE、DELETE等。通过学习这些基本命令,我们可以对数据库中的数据进行查询、添加、更新和删除操作,实现对数据的管理和维护。 接下来,教程介绍了SQL的数据类型和约束条件。数据类型包括数值型、字符型、日期型等,而约束条件可确保数据的完整性和一致性,包括主键、外键、唯一性约束等。理解和应用这些数据类型和约束条件,能够使我们创建和维护高质量的数据库。 在教程的后半部分,作者还介绍了SQL的高级应用技巧,包括多表查询、子查询、联合查询等。多表查询可方便地从多个表中检索数据,子查询可用于嵌套查询,联合查询可将多个查询结果合并。掌握这些高级应用技巧,可以更加高效地利用SQL查询复杂的数据。 此外,教程还介绍了SQL的数据操作语言(DML)和数据定义语言(DDL),以及对权限的管理和控制。数据操作语言包括SELECT、INSERT、UPDATE、DELETE等命令,用于操作和管理数据库中的数据;数据定义语言包括CREATE、ALTER、DROP等命令,用于管理数据库的结构和定义。 通过学习这本教程,我掌握了SQL的基本概念和语法,了解了SQL数据库管理中的重要性和应用场景。我能够使用SQL语言对数据库中的数据进行各种操作,并且能够通过SQL优化查询语句,提高查询效率。这本教程为我进一步学习和应用SQL打下了坚实的基础。 ### 回答3: SQL(Structured Query Language)是一种用于管理和操作关系数据库的标准化语言。在SQL基础教程中,我学到了许多关于SQL的重要概念和技术。 首先,我学习了SQL的起源和发展历史。SQL最初是由IBM的Edgar F. Codd在20世纪70年代提出的,旨在为关系数据库提供一个通用的查询语言。随着时间的推移,SQL逐渐成为了关系数据库管理系统(RDBMS)的行业标准。 其次,我学习了SQL的基本语法和查询操作。SQL通过使用不同的关键字和语句来查询和操作数据库。我学会了使用SELECT语句来检索数据,使用FROM和WHERE子句来指定数据来源和筛选条件。我还学会了使用INSERT、UPDATE和DELETE语句来插入、更新和删除数据。 在SQL基础教程中,我还学习了如何创建和管理数据库表。我学会了使用CREATE TABLE语句来创建表,并定义表的列和数据类型。我还学会了使用ALTER TABLE语句来修改表的结构,并使用DROP TABLE语句来删除表。 此外,我还学习了如何使用SQL来处理表之间的关系。我学会了使用JOIN语句来合并多个表,并通过指定关联条件来检索符合要求的数据。我还学会了使用GROUP BY和HAVING子句来对数据进行分组和过滤。 在SQL基础教程中,我还学习了如何使用SQL来创建和管理索引。索引可以提高查询的性能,我学会了使用CREATE INDEX语句来创建索引,并使用DROP INDEX语句来删除索引。 总之,SQL基础教程帮助我建立了对SQL语言的基本理解和技能。我认为SQL是一个非常重要的技能,在处理和管理数据库时非常实用。通过学习SQL,我可以更有效地查询和操作数据库,提高数据管理和分析的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值