MySQL每日一练:单表查询、连接查询

这篇具有很好参考价值的文章主要介绍了MySQL每日一练:单表查询、连接查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、创建两张表

student表:

score表 :

2.为student表和score表增加记录

student表:

score表:

3、按条件查找


1、创建两张表

student表:

CREATE  TABLE student (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY ,
name  VARCHAR(20)  NOT NULL ,
sex  VARCHAR(4) ,
birth  YEAR,
department  VARCHAR(20) ,
address  VARCHAR(50)
);

score表 :

CREATE  TABLE score (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,
stu_id  INT(10)  NOT NULL ,
c_name  VARCHAR(20) ,
grade  INT(10)
);

2.为student表和score表增加记录

student表:

INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');
INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区');
INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市');
INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');
INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');
INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');

 MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库

score表:

INSERT INTO score VALUES(NULL,901, '计算机',98);
INSERT INTO score VALUES(NULL,901, '英语', 80);
INSERT INTO score VALUES(NULL,902, '计算机',65);
INSERT INTO score VALUES(NULL,902, '中文',88);
INSERT INTO score VALUES(NULL,903, '中文',95);
INSERT INTO score VALUES(NULL,904, '计算机',70);
INSERT INTO score VALUES(NULL,904, '英语',92);
INSERT INTO score VALUES(NULL,905, '英语',94);
INSERT INTO score VALUES(NULL,906, '计算机',90);
INSERT INTO score VALUES(NULL,906, '英语',85);

MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库

3、按条件查找

1.查询student表的所有记录
select * from student;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
2.查询student表的第2条到4条记录
select * from student limit 2,3;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
3.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
select id,name,department from student;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
4.从student表中查询计算机系和英语系的学生的信息
select * from student where department='计算机系' or department='英语系';
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
select * from student where department in('计算机系','英语系');

MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库

5.从student表中查询年龄18~22岁的学生信息 
select * from student where (2023-birth)<=22 and (2023-birth)>=18;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
6.从student表中查询每个院系有多少人
select department,count(*) as 部门人数 from student group by department;
t;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
7.从score表中查询每个科目的最高分
select c_name,max(grade) as 最高分 from score group by c_name;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
8.查询李四的考试科目(c_name)和考试成绩(grade)
select student.name,c_name,grade 
from score 
join student 
on student.id=score.stu_id where name='李四';
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
9.用连接的方式查询所有学生的信息和考试信息
select student.*,score.c_name,score.grade 
from score 
join student 
on student.id=score.stu_id ;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
10.计算每个学生的总成绩
select student.name,sum(grade) as 总成绩 
from score  
join student 
on student.id=score.stu_id group by name;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
11.计算每个考试科目的平均成绩
select c_name,avg(grade) as 平均分 from score group by c_name;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
12.查询计算机成绩低于95的学生信息
select student.*,grade 
from score 
join student 
on student.id=score.stu_id wheregrade<90 and c_name='计算机';

MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库

13.查询同时参加计算机和英语考试的学生的信息
SELECT s.id, s.name, s.sex, s.birth, s.department, s.address 
FROM student s 
INNER JOIN score sc 
ON s.id = sc.stu_id 
WHERE sc.c_name = '计算机' AND sc.stu_id IN ( SELECT stu_id FROM score WHERE c_name = '英语' );
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
14.将计算机考试成绩按从高到低进行排序
select * from score  where c_name='计算机' order by grade desc;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
15.从student表和score表中查询出学生的学号,然后合并查询结果
select student.*,score.* from score join student on student.id=score.stu_id;
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
16.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩
select student.name,student.department,score.c_name,score.grade 
from score 
join student 
on student.id=score.stu_id where student.name like '张%' 
or student.name like'王%';
MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库
17.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
select student.name,student.department,score.c_name,score.grade,student.address from score 
join student 
on student.id=score.stu_id 
where address like '湖南省%';

MySQL每日一练:单表查询、连接查询,MySQL,日常,作业,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-558516.html

到了这里,关于MySQL每日一练:单表查询、连接查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL单表查询与多表连接查询

    单表查询 创建数据表emp 插入数据 -- 1. 查询出部门编号为30的所有员工 -- 2. 所有销售员的姓名、编号和部门编号。 -- 3. 找出奖金高于工资的员工。 -- 4. 找出奖金高于工资60%的员工。 -- 5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。 -- 6. 找出部门

    2024年02月13日
    浏览(27)
  • 【MYSQL】聚合函数和单表/多表查询练习、子查询、内外连接

    目录 1.聚合函数 1.1.group by子句 1.2.having语句 2.单表查询  2.2单表查询 3.多表查询  3.2.子查询 5.内链接 6.外连接 函数 说明 count 返回查询到的数据的数量 sum 返回查询到的数据的总和 avg 返回查询到的数据的平均值 max 返回查询到的数据的最大值 min 返回查询到的数据的最小值

    2024年02月04日
    浏览(34)
  • 【从删库到跑路】MySQL数据库的查询(单表查询,多表查询,内外连接,联合查询,子查询)

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 在项目开发中,在进行数据库表结构设计时,会根据业务需求以及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联

    2024年02月10日
    浏览(36)
  • MySQL查询练习-单表查询

    查询出部门编号为30的所有员工: 所有销售员的姓名、编号和部门编号: 找出奖金高于工资的员工: 找出奖金高于工资60%的员工: 找出部门编号为10中所有经理,和部门编号为30中所有销售员的详细资料: 找出部门编号为10中所有经理,部门编号为30中所有销售员,还有即不

    2024年02月13日
    浏览(33)
  • MySQL的单表查询

    一、单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE `worker` (  `部门号` int(11) NOT NULL,  `职工号` int(11) NOT NULL,  `工作时间` date NOT NULL,  `工资` float(8,2) NOT NULL,  `政治面貌` varchar(10) NOT NULL DEFAULT \\\'群众\\\',  `姓名` varchar(20) NOT

    2024年01月16日
    浏览(31)
  • mysql单表查询综合

    首先创建一个数据库 d1 然后创建一个表,表的内容如下: “row_format = dynamic” 是 MySQL 中用于设置表格行格式的一种选项。 它表示表格的行格式是动态的,即每一行可以根据需要使用不同的格式。 当使用 “row_format = dynamic” 时,MySQL 会自动根据每一行的实际长度选择最适合

    2024年02月13日
    浏览(26)
  • MySQL之单表查询

    素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE `worker` (  `部门号` int(11) NOT NULL,  `职工号` int(11) NOT NULL,  `工作时间` date NOT NULL,  `工资` float(8,2) NOT NULL,  `政治面貌` varchar(10) NOT NULL DEFAULT \\\'群众\\\',  `姓名` varchar(20) NOT NULL,  `出生日期

    2024年02月01日
    浏览(30)
  • MySQL单表查询

    单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE `worker` (  `部门号` int(11) NOT NULL,  `职工号` int(11) NOT NULL,  `工作时间` date NOT NULL,  `工资` float(8,2) NOT NULL,  `政治面貌` varchar(10) NOT NULL DEFAULT \\\'群众\\\',  `姓名` varchar(20) NOT NULL,  

    2024年02月13日
    浏览(27)
  • MySQL-单表、多表查询

    创建表并添加数据 查看表结构和表信息

    2024年01月18日
    浏览(29)
  • MySQL---单表查询综合练习

    创建emp表 CREATE TABLE emp( empno INT(4) NOT NULL COMMENT \\\'员工编号\\\', ename VARCHAR(10) COMMENT \\\'员工名字\\\', job VARCHAR(10) COMMENT \\\'职位\\\', mgr INT(4) COMMENT \\\'上司\\\', hiredate DATE COMMENT \\\'入职时间\\\', sal INT(7) COMMENT \\\'基本工资\\\', comm INT(7) COMMENT \\\'补贴\\\', deptno INT(2) COMMENT \\\'所属部门编号\\\' ); emp表添加主键 mysql alte

    2024年01月21日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包