颍上人才网
颍上职场资讯
颍上面试技巧
正文:阿里P7小编整理2024年最新Java开发全套学习资料帮自学程序员
阿里P7小编整理2024年最新Java开发全套学习资料帮自学程序员
来源:网络整理2025-04-10

我来做个自我介绍,我毕业于浙江大学。我曾去过华为这样的大厂,也去过字节跳动这样的大厂。目前我在阿里担任 P7 职位。

大多数程序员都深知,若想要提升技能,通常是通过自己摸索来实现成长。然而,这种自己不成体系的自学方式,其效果既低效又漫长,并且还很容易遇到技术瓶颈,导致技术停滞不前。

收集整理了一份《2024 年最新 Java 开发全套学习资料》,初衷很简单,希望能帮助到想自学提升但不知从何学起的朋友。

有适合小白学习的零基础资料,还有适合 3 年以上经验的小伙伴深入学习提升的进阶课程,这些课程涵盖了 95%以上的 Java 开发知识点,是真正体系化的。

文件比较多,这里仅截取了部分目录。全套涵盖大厂面经、学习笔记、源码讲义、实战项目、大纲路线以及讲解视频,并且后续会一直进行更新。

如果你需要这些资料,那么可以通过添加 V 来获取,具体是 vip1024b ,并且需要备注 Java 。

正文

drop table if exists student;

create table student(

id 是整数类型,它是主键,并且具有自动递增的属性。

sn int unique,

name 是一个 varchar(20)类型的字段,其默认值为‘unkown’。

qq_mail varchar(20),

classes_id int,

外键(classes_id)参照 classes 表中的 id 字段。

);

1.7、CHECK约束(了解)

MySQL使用时不报错,但忽略该约束:

如果存在 test_user 表,则删除该表。

create table test_user(

id int,

name varchar(20),

sex varchar(1),

check(sex = ‘男’ or sex = ‘女’)

);

二、表的设计

==========

2.1、三大范式

一对一

一对多

多对多

创建课程表

drop table if exists test_user;

create table test_user(

id int,

name varchar(20),

sex varchar(1),

check(sex = ‘男’ or sex = ‘女’)

);

创建学生课程中间表,考试成绩表

drop table if exists score(

id int primary key auto_increment,

score decimal(3,1),

student_id,

course_id,

外键(student_id)参照了 student 表中的 id 字段。

外键(course_id)参照了 course 表中的 id 字段。

);

三,新增

========

插入查询结果

语法:

将数据插入到表名对应的表中,指定列并进行选择操作……

创建一张用户表,该表设计有 name 姓名、email 邮箱、sex 性别、mobile 手机号这些字段。要把已有的学生数据复制进来,可复制的字段是 name 和 qq_mail。

– 创建用户表

如果存在 test_user 表,则删除该表。

CREATE TABLE test_user (

id 是整数类型,它是主键且具有自动递增的属性。

姓名这一信息用 name 表示,其数据类型为 VARCHAR(20),并且有“姓名”这样的注释。

age INT comment ‘年龄’,

邮箱的类型为 VARCHAR(20),这是关于邮箱的相关描述。

sex varchar(1) comment ‘性别’,

mobile 是一个长度为 20 的字段,其注释为“手机号”。

);

–把学生表中的所有数据复制到用户表

将数据插入到 test_user 表的 name 和 email 字段中,其数据来源于从 student 表中选取的 name 和 qq_mail 字段。

四、查询

========

4.1聚合查询

4.1.1、聚合函数

常见的统计总数的操作,可以使用聚合函数来实现;常见的计算平局值的操作,也可以使用聚合函数来实现。常见的聚合函数有:

函数

说明

COUNT([DISTINCT] expr)

返回查询到的数据的 数量

SUM([DISTINCT] expr)

返回查询到的数据的 总和,不是数字没有意义

AVG([DISTINCT] expr)

返回查询到的数据的 平均值,不是数字没有意义

MAX([DISTINCT] expr)

返回查询到的数据的 最大值,不是数字没有意义

MIN([DISTINCT] expr)

返回查询到的数据的 最小值,不是数字没有意义

COUNT

– 统计班级共有多少同学

select count(*) from student;

select count(0) from student;

统计班级收集的 qq_mail 的数量,其中 qq_mail 为 NULL 的数据不被计入结果。

从 student 表中统计 qq_mail 的数量。

SUM

– 统计数学成绩总分

从 exam_result 中选择 math 的总和;获取 exam_result 里 math 的累加值;计算 exam_result 中 math 的总计数值;对 exam_result 中的 math 进行求和操作;找出 exam_result 中 math 的合计数值;求取 exam_result 内 math 的总和数值;在 exam_result 中汇总 math 的数值;计算 exam_result 里 math 的汇总值;统计 exam_result 中 math 的总和情况;得出 exam_result 中 math 的总计情况

– 不及格 < 60 的总分,没有结果,返回 NULL

从 exam_result 表中选择 math 的总和,条件是 math< 60;

AVG

– 统计平均总分

从 exam_result 表中选取语文成绩、数学成绩与英语成绩之和的平均值作为平均总分,即计算 (chinese + math + english) 的平均值。

MAX

– 返回英语最高分

从 exam_result 中选取英语成绩的最大值。

MIN

– 返回 > 70 分以上的数学最低分

从 exam_result 表中选择数学成绩大于 70 的最小数学成绩。

4.1.2、GROUP BY子句

使用 GROUP BY 子句在 SELECT 中可以进行指定列的分组查询。条件如下:当使用 GROUP BY 进行分组查询时,SELECT 所指定的字段必须是“分组依据字段”,而其他字段若要在 SELECT 中出现,就必须被包含在聚合函数里。

从表中选择 column1、column2 的总和等,按照 column1 和 column3 进行分组。

准备测试所需的表及数据,其中包括职员表,该表包含 id(作为主键)、name(姓名)、role(角色)以及 salary(薪水)这些字段。

create table emp(

id int primary key auto_increment,

name varchar(20) not null,

role varchar(20) not null,

salary numeric(11,2)

);

向 emp 表中插入数据,包括姓名、角色和薪资这三个字段的值。具体来说,就是将指定的姓名、角色以及薪资信息插入到 emp 表中相应的字段位置。

(‘李白’,‘服务员’, 1000.20),

(‘杜甫’,‘游戏陪玩’, 2000.99),

(‘孙悟空’,‘游戏角色’, 999.11),

(‘猪无能’,‘游戏角色’, 333.5),

(‘沙和尚’,‘游戏角色’, 700.33),

(‘隔壁老王’,‘董事长’, 12000.66);

查询每个角色的最高工资、最低工资和平均工资

面试宝典下载_宝典面试库数据怎么导入_数据库 面试宝典

从“emp”表中按“role”分组,选取“role”列,找出“salary”列的最大值、最小值以及平均值。

4.1.3、HAVING

在使用 GROUP BY 子句进行分组之后,如果需要对分组结果进行条件过滤,就不能使用 WHERE 语句,而必须使用 HAVING 语句。

显示平均工资低于1500的角色和它的平均工资

从“emp”表中按“role”分组,选取“role”列,找出每组中“salary”的最大值、最小值和平均值,条件是每组的平均“salary”。< 1500;

4.2、联合查询

在实际开发里,数据通常来自不同的表,因此需要进行多表联合查询。多表查询就是对多张表的数据求取笛卡尔积:

测试示例:

将数据插入到 classes 表中,包含 name 字段和 desc 字段的值。

计算机系 2019 级 1 班学习了计算机原理,学习了 C 和 Java 语言,学习了数据结构和算法。

(‘中文系2019级3班’,‘学习了中国传统文学’),

(‘自动化2019级5班’,‘学习了机械自动化’);

create table classes(

name varchar(20),

desc varchar(200)

);

create table student(

id int,

sn varchar(6),

name varchar(20),

qq_mail varchar(20),

classes_id int

);

向 student 表中插入数据,包含 id、sn、name、qq_mail、classes_id 这些字段的值。

('09982', '黑旋风李逵', 'xuanfeng@qq.com', 1) 分别代表不同的信息,其中一个信息的标识为 '09982',对应的人物是 '黑旋风李逵',联系邮箱为 'xuanfeng@qq.com',还有一个数字 1 与之相关。

(2,‘00835’,‘菩提老祖’,null,1),

(3,‘00391’,‘白素贞’,null,1),

('00031', '许仙', 'xuxian@qq.com', 1) 这组数据中,编号为'00031',名字是许仙,邮箱是 xuxian@qq.com,数量为 1 。

(5,‘00054’,‘不想毕业’,null,1),

(6, '51234', '要好好地进行言语交流', 'say@qq.com', 2)

(7,‘83223’,‘tellme’,null,2),

有一个记录,其编号为 8,对应的邮箱是 foreigner@qq.com,主题为“老外学中文”,编号 09527 与之相关,且有一个数字 2 与之关联。

create table course(

id int primary key auto_increment,

name varchar(20)

);

将数据插入到课程表(course)中,插入的字段包括 id 和 name,具体的值为相应的内容。

Java;中国传统文化;计算机原理;语文;高阶数学;英文。

create table score(

score decimal(3,1),

student_id int,

course_id int

);

向 score 表中插入数据,包含成绩(score)、学生 ID(student_id)、课程 ID(course_id)这些字段的值。

– 黑旋风李逵

– 菩提老祖

(60, 2, 1),(59.5, 2, 5),

– 白素贞

– 许仙

– 不想毕业

(81, 5, 1),(37, 5, 5),

– 好好说话

– tellme

(80, 7, 2),(92, 7, 6);

4.2.1、内连接

语法:

从表 1 别名 1 中选择字段,然后与表 2 别名 2 进行连接,连接方式为内连接(若有指定 inner),连接条件为指定的连接条件,同时还需满足其他条件。

从表 1 别名 1 和表 2 别名 2 中选择字段;条件是连接条件以及其他条件。

案例:

查询“许仙”同学的 成绩

从学生表 stu 中进行内连接操作,连接条件是 stu.id 等于 score 表 sco 中的 student_id,然后选择 sco 表中的 score 字段。

and stu.name=‘许仙’;

– 或者

从学生表 stu 和成绩表 sco 中选择 sco 的成绩,条件是 stu 的 id 等于 sco 的学生 id 且

stu.name=‘许仙’;

初学者建议一步一步来

从 student 表和 score 表中选取 student 的 id、student 的 name、score 的 student_id 以及 score 的 score 。

选取学生的 id、学生的名字、成绩表中的学生 id、成绩表中的成绩,具体为:从

获取学生的成绩,条件是学生的 ID 等于成绩对应的学生 ID。

select student.id,student.name ,score.student_id,score.score from

获取学生的成绩,条件是学生的 ID 等于成绩的学生 ID 且学生的名字为“许仙”;

(2)查询所有同学的总成绩,及同学的个人信息:

SELECT

stu.sn,

stu.NAME,

stu.qq_mail,

sum( sco.score )

FROM

student stu

将 stu 表的 id 字段与 sco 表的 student_id 字段进行关联,然后获取关联后的结果并进行后续操作。

GROUP BY

sco.student_id;

从 student 表和 score 表中选取 student 的 id、student 的 name、score 的 student_id 以及 score 的 score 。

从 student 表和 score 表中选取 student 的 id、student 的 name、score 的 student_id 以及 score 的 score 。

在学生的 id 等于成绩的学生 id 的情况下;

select student.id ,student.name,score.student_id,score.score from student,score

在学生表中,当学生的 id 等于成绩表中的学生 id 时,按照学生的 id 进行分组;

计算 score 表中 score 的总和。

where student.id = score.student_id group by student.id;

(3)查询所有同学的成绩,及同学的个人信息:

选取学生的 id、学生的名字、课程的 id、课程的名字、成绩的学生 id、成绩的分数。从

student,course,score;

select student.id,student.name,course.id,course.name,score.student_id,score.score from

在 student 表和 course 表以及 score 表中,当 student 的 id 等于 score 的 student_id 时的相关信息。

最后

可以领取 Java 核心知识点,还有全套架构师学习资料和视频,以及一线大厂面试宝典和面试简历模板,包含阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题,有 Spring 源码合集,有 Java 架构实战电子书,还有 2021 年最新大厂面试题。

网上有很多学习资料。然而,如果学到的知识没有形成体系,当遇到问题时只是稍微尝试一下就停止,不再进行深入的研究,那么就很难实现真正的技术提升。

有需要这份系统化资料的朋友,能够添加 V 来获取,其获取方式为 vip1024b ,同时需要备注 Java 。

让我们一同学习成长!

.csdnimg.cn/3bbcc398b5ee44e7a7452e4869acc8de.png?x-oss-process 是用于处理图像的,其处理类型为 image/watermark,具体的水印样式为 type_d3F5LXplbmhlaQ,阴影效果为 shadow_50,文本内容为 text_Q1NETiBAL-WwkeWPuOWRvQ==,尺寸大小为 size_20,颜色为FFFFFF,透明度为 t_70,水平偏移量为 x_16。

最后

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。

该地区的工业结构主要以重工业为主,轻工业相对较弱。重工业在该地区的工业体系中占据重要地位,包括钢铁、机械、化工等行业。这些行业规模较大,技术含量较高,对该地区的经济发展起到了关键的支撑作用。轻工业方面,主要有食品、纺织、服装等行业,虽然在数量上占比较大,但在规模和技术水平上与重工业相比仍有一定差距。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)

请提供具体的横线下的句子呀,没有看到相关内容呢,无法进行改写呢。

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

温馨提示:本内容地址http://m.ysjob.cc/article/articledetail-281625.html转载请注明,以上阿里P7小编整理2024年最新Java开发全套学习资料帮自学程序员资讯信息来自颍上人才网(颍上地区最大的颍上人才网颍上人才网

 
 ©2003-2018 颍上人才网  
客服电话:  QQ: