首页 > 数据库 >SQL语法基础学习(二)

SQL语法基础学习(二)

时间:2024-12-03 14:55:50浏览次数:5  
标签:学习 edu 查询 语法 course SQL where id select

本章节笔记内容简要概括主要对查询这部分进行学习总结。其次聚集函数的使用连接、exists的子查询带有any all的子查询等查询重点的相关内容进行笔记总结。

本次查询所用到的参数内容如下所示:

一、查询所有&查询部分列:

*:该符号表示所有列
select:查询的关键字

查询格式:select <列名> from <表名>

select * from Student
上述代码等价于下面这句
select Sno,Sname,Ssex,Sage,Sdept from Student;

二、查询给列起别名,给表起别名也是一样的操作

代码格式:select <列名> <列别名> from <表名> <表别名>
例如:select username 姓名 from user;
再例如该图例子:

运行结果:

三、结果去重

加上distinct关键字即可实现
代码语句格式:select distinct <列名> <列名别名> from <表名> ;
观察如下参数:

我们对该重复的标题结果进行去重,
代码语句:select distinct title 课程名字 from edu_course;

四、查询结果加条件:

条件关键字:where
代码语句格式标准:select <列名> <列名别名> from <表名> where <列名> <谓词> <相关参数>
相关查询条件和谓词表如下:
![](/i/l/?n=24&i=blog/3531827/202412/3531827-20241201164418551-2082132542.png
例题如下(请自行创建参数更换谓词和参数执行使用看看):
select title 课程名字 from edu_course where price>=88;

五、聚集函数的使用

常用聚集函数如下:

查询格式:select <聚集函数> <列名> from <表名> ;
例如:
select count(*) from edu_course;
加上distinct可以去除列重复的来计算,例如:select count(distinct teacher_id) from edu_course;

六、分组查询
group by 分组,如果进行筛选,请使用Having
该部分使用到的参数:

例如:select teacher_id from edu_course group by teacher_id;
注意:使用时必须使用具体的列名参数才能使用分组查询。直接使用*会报错无法运行。

(2)条件过滤使用
注意:使用group by 不能使用where来接条件,需要使用having

select teacher_id from edu_course group by teacher_id having teacher_id=1;

六、连接

内容简要:等值,非等值连接,以where为关键词。
例如:select * from edu_course ec, edu_course_description ecd where ec.id=ecd.id;
会输出得到一个笛卡尔积的表

(2)自身连接
一个表与自身连接,为本身这个表七两个1别名,然后进行操作
例如:select * from edu_course ec1, edu_course ec2 where ec1.id=ec2.id;

(3)外连接
把被舍弃的值,也保留在结果中,但是要加null
左外连接例如:select * from edu_course ec left outer join edu_course_description scd on ec.id=ecd.id;

右外连接例如:
select * from edu_course ec right outer join edu_course_description scd on ec.id=ecd.id;

补充说明:左外连接列出左边关系(如本例Student)中所有的元组,右外连接列出右边关系中所有的元组。****

(4)多表查询
两个表以上的连接:该内容较为复杂建议参考教材上例题进行练习理解。

(5)嵌套查询:
例如:
select * from edu_course ec where teacher_id in (select teacher_id from edu_course where teacher_id=10 or teacher_id=0)

七、带有any all的子查询

参考下图

例如:
select * from edu_course ec where teacher_id price >any (select price from edu_course where price<10 );

八、带EXISTs的子查询(改内容比较绕,自行参考例题捋一捋思路)

关键字:
not exists 如果后面的子查询没有值,返回1 否则为1
exists 与上述描述相反

九、集合查询
并、交、差
重点三个关键词:union、intersect、except

例1:select * from Student where Sdept=‘CS’ union select * from Student where Sage<=19;
例2:select * from Student where Sdept=‘CS’ intersect select * from Student where Sage<=19;
例3:select * from Student where Sdept=‘CS’ except select * from Student where Sage<=19;

标签:学习,edu,查询,语法,course,SQL,where,id,select
From: https://www.cnblogs.com/gercen/p/18580112

相关文章

  • SQL语言基础学习( 一)
    总结:本章节内容,对表的模式、删除、建立、修改,索引的建立、修改、删除进行了总结性学习。一、SQL的基本概念SQL是StructuredQueryLanguage的缩写,意思是结构话查询语言,是一种在数据库管理系统中查询或对数据库里面的数据进行更改的语言。数据库管理系统呢,主要四Mysql、oracle、......
  • SQL基础语法学习(三)
    本章节内容主要针对,表中数据的增、删、改,以及视图的概率,创建,修改、删除、查询做内容总结。一、数据插入、修改、删除数据插入的代码格式:insertinto表名[(字段列表)]values(值列表...);例如下案例所示://标准添加(指定所有字段,给定所有的值)insertintostu(id,name,age,sex,cl......
  • 【文末赠票】和网易伏羲共探100个值得深入学习的技术创新案例
    在人工智能技术的浪潮中,AIAgent正成为推动游戏行业创新的关键力量。随着LLM的不断发展,Agent不管是在游戏设计、玩家体验,还是在NPC行为模拟等方面都展示了巨大的潜力。《永劫无间》手游近期发布的多模态实时交互的语音AI队友就是一次重大突破。传统机器人队友常常因招式木......
  • 【Mysql 数据库 undo log 文件无限膨胀,性能下降问题解决方案】
    数据库undolog文件无限膨胀,性能下降问题解决方案1.问题描述在Mysql数据目录中发现有个undo文件非常大,并且持续增长并且Historylistlength非常大------------TRANSACTIONS------------Trxidcounter3569860310Purgedonefortrx'sn:o<3185146100......
  • mysql的information_schema数据库包含的表
    1.information_schema 数据库的系统表系统表说明schemata存储数据库的信息,包括名称、字符集、排序规则。tables提供数据库中各个表的信息,包括表类型(如BASETABLE、VIEW)、存储引擎、行格式、行数、创建时间等信息。columns存储关于每个表的列的信息,包括列名、数......
  • 基于SpringBoot的蜗牛兼职平台的设计与实现(源码+SQL脚本+LW+部署讲解等)
    专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。主要内容:免费功能设计、开题报告、任务书、中......
  • 基于深度学习的垃圾检测与分类系统:YOLOv10 + UI界面 + 数据集
    垃圾分类是当今环保领域中的一项关键任务,随着垃圾处理技术的不断进步,越来越多的城市开始实施垃圾分类政策。深度学习特别是目标检测技术(如YOLO系列)为垃圾分类提供了一种自动化、智能化的解决方案。本博客将详细介绍如何基于YOLOv10模型,结合UI界面开发一个垃圾检测与分类系统,旨......
  • 基于深度学习的安全帽检测识别系统:YOLOv10 + UI界面 + 数据集
    安全帽检测是现代工业安全管理中的重要环节,尤其是在建筑工地、制造业等高危行业中,确保工作人员佩戴安全帽是预防事故、保护生命安全的重要措施。随着深度学习技术的发展,尤其是目标检测算法(如YOLO系列)在实时检测任务中的应用,使得安全帽检测变得更加高效与精确。本博客将详细介绍......
  • 基于深度学习的电塔缺陷检测识别系统 —— YOLOv8 + UI界面 + 数据集
    1.引言电塔是现代电力系统中的关键设施,其稳定性和安全性直接影响电力输送的可靠性。为了保证电塔的正常运行,必须定期进行巡检和维护。传统的电塔巡检通常依赖人工巡查,这不仅耗时费力,而且容易受到人为因素的影响。近年来,随着深度学习和计算机视觉技术的进步,自动化电塔缺陷检测......
  • 机器学习框架_底层实现
    设计和实现了机器学习框架(如TensorFlow、PyTorch、MindSpore等)编译器前端编译器前端:机器学习框架往往具有AI编译器来构建计算图,并将计算图转换为硬件可以执行的程序编译器后端和运行时:完成计算图的分析和优化后,机器学习框架进一步利用编译器后端和运行时实现针对......