bthclsbthclsbthcls

news2024/11/26 23:26:18

Sql简单查询

创建数据库/表

进入数据库:mysql -uroot -p123456

支持中文字符:

Set character_set_database='utf8';
Set character_set_server='utf8';

1.创建数据库

create database demo;
use demo;

2.创建数据表

create table  score(
id int  primary key ,
class int,
name varchar(255),
chinese double,
math double,
english double);

3.插入数据

insert into score values (1,1,'关羽',85,56,70);
insert into score values (2,2,'张飞',70,75,70);
insert into score values (3,2,'赵云',90,65,95);
insert into score values (4,3,'刘备',97,50,50);
insert into score values (5,1,'曹操',88,90,80);
insert into score values (6,1,'司马懿',80,48,86);
insert into score values (7,3,'吕布',67,98,70);
insert into score values (8,2,'貂蝉',90,75,80);
insert into score values (9,2,'诸葛亮',100,98,100);
insert into score values (10,2,'诸葛亮',100,98,98);

题目

1.基础查询 select

1.1 查询所有数据;
1.2 查询某一列数据;
1.3 查询指定多列数据;

1.1
select * from score;

1.2
select id from score;

1.3
select id,class,name,chinese,math,english from score;

2.去重 distinct

2.1 检索不同的值,查看去重后的成绩信息。

select distinct name from score;
select distinct class from score;

3.排序 order by

3.1 对数据成绩进行排序。

select id,class,name,chinese,math,english from score order by math;

4.限制结果 limit

limit关键词可限制查询行数。
返回表的前n行:select 列名 from 表名 limit n;
返回表的特定行:select 列名 from 表明 limit n,m;(从n+1行开始,返回m行)

4.1 查看指定行信息

select * from score limit 3 //返回表的前三行
select * from score limit 3,3 //返回表的第4到第6行

Sql复杂查询

题目

1.计算字段,统计每个学生的成绩总分。

select name,sum(chinese+math+english) as total_score from score group by name;

2. 拼接字段

(1).将表中姓名和班级连起来,格式为:张飞(2);
(2).指定分隔符(-)对数据中姓名、语数外进行连接。

select concat(name,'(',class,')') as 姓名(班级) from score;

select concat(name,'-',chinese,'-',math,'-',english) as 姓名语数外 from score; 

3.聚合函数

(1).计算各班级学生数学平均成绩

(2).计算1班中语文最高分

select class,avg(math) as avg_math from score group by class;

select class,max(chinese) as max_chinesescore from score where class=1;

4.分组, GROUP BY关键词可对数据进行分组,HAVING可对分组后的数据进行过滤。

(1).计算各班级学生数学平均成绩

(2).计算数学平均分80以上的班级

select class,avg(math) as avg_mathscore from score group by class;

select class,avg(math) as avg_mathscore from score group by class having avg_mathscore>=80;

5.case when检索函数

1.对英语成绩进行划分,>90为优秀,<=90 and >=60为良好,<60为不及格。
2.对英语成绩进行划分,>90为优秀,<60为不及格,null为缺考,其他为良好。
3.对英语成绩进行评估,统计有多少学生成绩为优秀

select name,english,case when english>90 then '优秀' 
when english>=60 and english<=90 then '良好'
when english<60 then '不及格' end as level
from score;

select name,english,case when english >90 then '优秀'
when english <60 then '不及格'
when english is null then '缺考'
else '良好' end as level
from score;

select count(*) from score where english>90;

6.视图

1.创建视图名为‘班级人数’,按照班级分组,进行各班人数计数。

create view 班级人数 as select class,count(*) from score group by class;

7.子查询

业务场景:哪些学生的数学成绩比“张飞”的高?

select name from score where math>(select math from score where name='张飞');

8.关联子查询

1.筛选出各班级中高于班级数学平均分的人员信息。

select class,name,math from score s1 where math>(select avg(math) from score s2 where s1.class=s2.class);

Sql多表查询

创建数据库/表

进入数据库:

mysql -uroot -p123456

支持中文字符:

Set character_set_database='utf8';
Set character_set_server='utf8';

1.创建数据库

create database demo;
use demo;

2.创建学生数据表student

create table student(
           stuid int primary key ,
           student varchar(255));

3.插入学生数据

insert into student values (1,'关羽');
insert into student values (2,'张飞');
insert into student values (3,'赵云');
insert into student values (4,'刘备');
insert into student values (5,'曹操');

4.创建选课信息表class

create table class(
           id int primary key ,
           classname varchar(255),
           stuid int);

3.插入选课数据

insert into class values (1,'Python编程',1);
insert into class values (2,'SQL分析',4);
insert into class values (3,'WEB前端',3);
insert into class values (4,'统计分析',2);
insert into class values (5,'机器学习',7);

题目

1. 使用内连接查询操作列出所有选课学生信息。

select * from student inner join class on student.stuid=class.stuid;

2. 使用左连接查询所有学生的选课信息 .

select * from student left join class on student.stuid=class.stuid;

3. 将条件语句' s.stuid = 1'添加在上步骤左外连接中,比较join和where的不同。

select * from student s left join class c on s.stuid=c.stuid and s.stuid=1;

select * from student s left join class c on s.stuid=c.stuid where s.stuid=1;

3. 使用右连接查询所有课程的学生信息

select * from student s right join class c on s.stuid=c.stuid;

4. 使用全连接查询所有学生的全部选课信息。

select s.*,c.* from student s full join class c;

5. 组合查询

select stuid,student from student union select id,classname from class;

select stuid,student from student union all select id,classname from class;

6. 将两表两两连接,查询结果集。

select * from student cross join class;

select * from student,class;

7. 整合成绩单中每个班级的人数(仅做了解)

SELECT classname,COUNT(student.stuid) AS num 
FROM class 
LEFT JOIN student 
ON class.stuid=student.stuid 
GROUP BY classname;

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

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

相关文章

Day_48堆排序

目录 一. 关于堆排序 1. 堆的定义 二. 堆排序的实现 1. 堆排序的思路 2. 堆排序的问题分析 3. 堆排序的具体实施 4. 效率分析 三. 堆排序的代码实现 1. 堆排序 2. 调整堆&#xff08;核心代码&#xff09; 四. 代码展示 五. 数据测试 六. 总结 一. 关于堆排序 1. 堆的定义…

Shell脚本学习记录

shell教程 第一个shell脚本 打开文本编辑器(可以使用 vi/vim 命令来创建文件)&#xff0c;新建一个文件 test.sh&#xff0c;扩展名为 sh&#xff08;sh代表shell&#xff09;。 #!/bin/bash echo "Hello World !" #! 是一个约定的标记&#xff0c;它告诉系统这个…

ieda codeformatV2.xml

ieda codeformatV2.xml 目录概述需求&#xff1a; 设计思路实现思路分析1.codeformatV22.codeformatV23.codeformatV24.codeformatV25.数据处理器 拓展实现 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&…

MySQL数据库基础 08

第八章 聚合函数 1. 聚合函数介绍1.1 AVG和SUM函数1.2 MIN和MAX函数1.3 COUNT函数 2. GROUP BY2.1 基本使用2.2 使用多个列分组2.3 GROUP BY中使用WITH ROLLUP 3. HAVING3.1 基本使用3.2 WHERE和HAVING的对比 4. SELECT的执行过程4.1 查询的结构4.2 SELECT执行顺序4.3 SQL 的执…

MT1619

MT1619 是一款PD快充开关电源转换器芯片&#xff0c;其内部集成了一颗高集成度、高性能的电流模式 PWM 控制器和一颗功率 MOSFET。它适用于小于 30W 的开关电源设备。MT1619 具有恒功率功能&#xff0c;特别适用于 PD 充电器、电源适配器等中小功率的开关电源设备。极低的启动电…

[golang 微服务] 5. 微服务服务发现介绍,安装以及consul的使用,Consul集群

一.服务发现介绍 引入 上一节讲解了使用 gRPC创建微服务,客户端的一个接口可能需要调用 N个服务,而不同服务可能存在 不同的服务器,这时&#xff0c;客户端就必须知道所有服务的 网络位置&#xff08;ipport&#xff09;&#xff0c;来进行连接服务器操作,如下图所示: 以往的做…

赋值运算符重载实例:Date类(结尾附源码)

赋值运算符重载实例&#xff1a;Date类 文章目录 赋值运算符重载实例&#xff1a;Date类一、构造日期类二、获取某年某月天数以及检查合法1.获取某年某月天数2.检查日期合法3.打印日期类 三、不同运算符的重载&#xff08;1&#xff09; ; !&#xff08;2&#xff09;> ; &g…

Lecture 13 Formal Language Theory Finite State Automata

目录 什么是语言&#xff1f;Formal Language Theory 形式语言理论动机例子除了从属问题之外的问题Regular Languages 正则语言Finite State Acceptor 正则语言的性质Derivational MorphologyWeighted FSAFinite State Transducer (FST)FST for Inflectional MorphologyNon-Reg…

Java Web实现用户登录功能

文章目录 一、纯JSP方式实现用户登录功能&#xff08;一&#xff09;实现思路1、创建Web项目2、创建登录页面3、创建登录处理页面4、创建登录成功页面5、创建登录失败页面6、编辑项目首页 &#xff08;三&#xff09;测试结果 二、JSPServlet方式实现用户登录功能&#xff08;一…

软考A计划-系统架构师-官方考试指定教程-(11/15)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

第四十周周报

学习目标&#xff1a; 一、Stable Diffusion 论文 学习时间&#xff1a; 2023.6.3-2023.6.9 学习产出&#xff1a; 一、模型进展 相比前两周的结果&#xff0c;本周改进了一下参数&#xff0c;FID达到了9 前两周结果为10.258 本周相比前两周FID降低1 二、High-Resolu…

数据结构之树与二叉树——算法与数据结构入门笔记(五)

本文是算法与数据结构的学习笔记第五篇&#xff0c;将持续更新&#xff0c;欢迎小伙伴们阅读学习。有不懂的或错误的地方&#xff0c;欢迎交流 引言 前面章节介绍的都是线性存储的数据结构&#xff0c;包括数组、链表、栈、队列。本节带大家学习一种非线性存储的数据结构&…

【MySQL】- 05 sql 语句练习题

sql 语句练习题 一 测试数据的准备二、数据查询1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数2、查询"01"课程比"02"课程成绩低的学生的信息及课程分数3、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩4、…

MySQL数据库基础 06

第六章 多表查询 1. 一个案例引发的多表连接1.1 案例说明1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解1.3 案例分析与问题解决 2. 多表查询分类讲解分类1&#xff1a;等值连接 vs 非等值连接等值连接非等值连接 分类2&#xff1a;自连接 vs 非自连接分类3&#xff1a…

动态网站开发02:Java Web概述

文章目录 一、 XML基础&#xff08;一&#xff09;XML概述1、XML2、XML与HTML的比较 &#xff08;二&#xff09;XML语法1、XML文档的声明2、XML元素的定义3、XML属性的定义4、XML注释的定义5、XML文件示例 &#xff08;三&#xff09;DTD约束1、什么是XML约束2、什么是DTD约束…

MM32F3273G8P火龙果开发板MindSDK开发教程5 - Gcc编译环境的配置

MM32F3273G8P火龙果开发板MindSDK开发教程5 - Gcc编译环境的配置 1、准备工作 用了几天Keil后&#xff0c;实在用不习惯&#xff0c;只好回到macos系统中来搭建gcc的编译环境。但是百问网火龙果开发板自带的DAP-Link在pyocd中根本识别不到&#xff0c;所以烧录还需要重新购置…

MySQL数据库基础 07

第七章 单行函数 1. 函数的理解1.1 什么是函数1.2 不同DBMS函数的差异1.3 MySQL的内置函数及分类 2. 数值函数2.1 基本函数2.2 角度与弧度互换函数2.3 三角函数2.4 指数与对数2.5 进制间的转换 3. 字符串函数4. 日期和时间函数4.1 获取日期、时间 4.2 日期与时间戳的转换 4.3 获…

一个关于宏定义的问题,我和ChatGPT、NewBing、Google Bard、文心一言 居然全军覆没?

文章目录 一、问题重述二、AI 解题2.1 ChatGPT2.2 NewBing2.3 Google Bard2.4 文心一言2.5 小结 一、问题重述 今天在问答模块回答了一道问题&#xff0c;要睡觉的时候&#xff0c;又去看了一眼&#xff0c;发现回答错了。 问题描述&#xff1a;下面的z的值是多少。 #define…

【Redis】Redis持久化机制RDB与AOF

目录 一、RDB 1、概念 2、RDB文件保存 3、执行RDB 4、触发RDB 5、fork原理 6、RDB的缺点 二、AOF 1、概念 2、开启AOF 3、触发AOF 4、触发重写AOF 三、区别 一、RDB 1、概念 RDB全称为Redis Database Backup File&#xff08;Redis数据备份文件&#xff09;&…

提示工程师指南3-Prompt工程-高级提示

高阶Prompting 到这一步&#xff0c;应该很明显&#xff0c;改进提示有助于在不同任务上获得更好的结果。这就是Prompt工程背后的整个理念。 虽然之前的例子很有趣&#xff0c;但在我们深入了解更高级的概念之前&#xff0c;让我们先正式地介绍一些概念。 文章目录 高阶Promp…