练习题 1 :

首先,第一步我们需要想创建库,和表格,并且把数据填写进去

use db_test;
create table product(
pid int,
pname varchar(50),
pprice int
)insert into product values(1,'手机',2300);
insert into product values(2,'电脑',5600);
insert into product values(3,'照相机',1200);
insert into product values(4,'投影仪',2500);create table user(
uid int,
uname varchar(50),
uage int,
usex varchar(20)
)
insert into user values(1,'李三',20,'男');
insert into user values(2,'张四',23,'男');
insert into user values(3,'赵五',25,'男');
insert into user values(4,'孙六',18,'男');
insert into user values(5,'孙悟空',24,'男');create table orderr(
opid int,
ouid int,
onumber varchar(50)
)insert into orderr values(1,1,123123);
insert into orderr values(1,2,112233);
insert into orderr values(2,1,234567);
insert into orderr values(2,5,787878);
insert into orderr values(3,4,343421);
insert into orderr values(3,5,909090);
insert into orderr values(4,2,212112);
insert into orderr values(4,1,343421);-- 1. 查询姓孙的用户的个数select count(*) from user where uname like '孙%';-- 2.查询年纪最大的两个用户名select uname from user ORDER BY uage desc limit 0,2;-- 3.查询李三买的商品名select product.pname from user INNER JOIN orderr on user.uid = orderr.ouid INNER JOIN product on orderr.opid = product.pid where uname = '李三';-- 4.查询购买过电脑的用户名select u.uname from product p,user u,orderr o where p.pid=o.opid and o.ouid = u.uid and pname='电脑';-- 5.查询订单是909090对应的用户名和商品名select u.uname,p.pname from product p,user u,orderr o where o.ouid = u.uid and o.opid = p.pid and onumber = '909090';-- 6.查询商品表中的最高价格的前两条数据select * from product ORDER BY pprice desc limit 0,2;

练习题2:

同样,第一步我们需要想创建库,和表格,并且把数据填写进去

练习题目操作:

use db_test;
create table s(
sno int,
sname varchar(50),
age int,
sex varchar(20)
)insert into s values(1,'张三',18,'男');
insert into s values(2,'李四',18,'女');
insert into s values(3,'王五',18,'男');
insert into s values(4,'赵六',18,'女');create table sc(
sno int,
cno int,
scgrade int
)insert into sc values(1,1,50);
insert into sc values(2,1,66);
insert into sc values(3,1,90);
insert into sc values(1,2,55);
insert into sc values(2,2,68);
insert into sc values(3,2,61);
insert into sc values(4,2,44);
insert into sc values(1,3,90);
insert into sc values(2,3,78);
insert into sc values(3,3,22);
insert into sc values(4,3,55);create table c(
cno int,
cname varchar(20),
cteacher varchar(50)
)insert into c values(1,'java','何昊');
insert into c values(2,'php','李美军');
insert into c values(3,'android','王超');-- 1.查询sc表中的何昊老师所授课程的女生的信息select s.sno,s.sname,s.age,sc.scgrade from s INNER JOIN sc on sc.sno = s.sno INNER JOIN c on sc.cno = c.cno where c.cteacher = '何昊' and s.sex = '女';-- 2.找出没有选修过何老师课程的所有学生姓名select s.sname from s where not exists(select * from sc,c where c.cno = sc.cno and c.cteacher='何昊' and sc.sno  = s.sno);-- 3.列出有不及格课程(成绩小于60)的学生的姓名select distinct s.sname from s INNER JOIN sc on sc.sno = s.sno where scgrade<60;

练习题3 :

首先,第一步我们需要想创建库,和表格,并且把数据填写进去

use db_test;
create table celebrity(
sid int,
sname varchar(50),
sage int,
ssex varchar(50)
)INSERT INTO `celebrity`(`sid`, `sname`, `sage`, `ssex`) VALUES (1, '李白', 34, '男');
INSERT INTO `celebrity`(`sid`, `sname`, `sage`, `ssex`) VALUES (2, '杜甫', 24, '男');
INSERT INTO `celebrity`(`sid`, `sname`, `sage`, `ssex`) VALUES (3, '白居易', 31, '男');
INSERT INTO `celebrity`(`sid`, `sname`, `sage`, `ssex`) VALUES (4, '李商隐', 40, '女');
INSERT INTO `celebrity`(`sid`, `sname`, `sage`, `ssex`) VALUES (5, '苏轼', 26, '男');
INSERT INTO `celebrity`(`sid`, `sname`, `sage`, `ssex`) VALUES (6, '辛弃疾', 22, '男');create table works(
wid int,
wwork varchar(225),
wdynasty varchar(225)
)INSERT INTO `works`(`wid`, `wwork`, `wdynasty`) VALUES (1, '将进酒', '唐代');
INSERT INTO `works`(`wid`, `wwork`, `wdynasty`) VALUES (2, '蜀道难', '唐代');
INSERT INTO `works`(`wid`, `wwork`, `wdynasty`) VALUES (3, '夜雨寄北', '唐代');
INSERT INTO `works`(`wid`, `wwork`, `wdynasty`) VALUES (4, '静夜思', '唐代');
INSERT INTO `works`(`wid`, `wwork`, `wdynasty`) VALUES (5, '望岳', '唐代');
INSERT INTO `works`(`wid`, `wwork`, `wdynasty`) VALUES (6, '钱塘湖春行', '南宋');
INSERT INTO `works`(`wid`, `wwork`, `wdynasty`) VALUES (7, '念奴娇赤壁怀古', '北宋');
INSERT INTO `works`(`wid`, `wwork`, `wdynasty`) VALUES (8, '水调歌头', '唐代');create table summary(
sid int,
wid int,
sassess varchar(255)
)INSERT INTO `summary`(`sid`, `wid`, `sassess`) VALUES (1, 1, '天生我材必有用');
INSERT INTO `summary`(`sid`, `wid`, `sassess`) VALUES (1, 2, '危乎高哉!');
INSERT INTO `summary`(`sid`, `wid`, `sassess`) VALUES (6, 8, '明月几时有');
INSERT INTO `summary`(`sid`, `wid`, `sassess`) VALUES (3, 6, '乱花渐欲迷人眼');
INSERT INTO `summary`(`sid`, `wid`, `sassess`) VALUES (4, 3, '却话巴山夜雨时');
INSERT INTO `summary`(`sid`, `wid`, `sassess`) VALUES (5, 7, '大江东去');
INSERT INTO `summary`(`sid`, `wid`, `sassess`) VALUES (2, 5, '一览众山小');
INSERT INTO `summary`(`sid`, `wid`, `sassess`) VALUES (1, 4, '举头望明月');-- 1. 查询名人表中性别是男的作者select sname from celebrity where ssex = '男';-- 2. 查询静夜思的作者select ce.sname from works INNER JOIN summary ary on ary.wid = works.wid INNER JOIN celebrity ce on ary.sid = ce.sid where wwork = '静夜思';-- 3. 查询李白和杜甫的年纪select sage from celebrity where sname BETWEEN '李白' and '杜甫';-- 4.查询名人表中的男女人数select count(*),ssex from celebrity GROUP BY ssex;-- 5.查询白居易写的作品的名称和对应的名句select works.wwork,summary.sassess from works INNER JOIN summary on works.wid = summary.wid INNER JOIN celebrity on summary.sid = celebrity.sid where sname = '白居易';-- 6.查询年纪在25到30之间的个数select count(*)from celebrity where sage BETWEEN 25 and 30;-- 7.查询名人表中年纪最小两条的数据信息select * from celebrity ORDER BY sage limit 0,2;-- 8.查询李白的作品名称,名句和年纪select wo.wwork,ary.sassess,cel.sage from celebrity cel INNER JOIN summary ary on cel.sid = ary.sid INNER JOIN works wo on wo.wid = ary.wid where sname = '李白';-- 9.将作品为望岳的朝代修改为北宋update works set wdynasty = '北宋' where wwork = '望岳';-- 10.新增名人表中的一个作者王维,年纪25,性别男insert into celebrity values(7,'王维',25,'男');

MySQL 之 多表查询相关推荐

  1. mysql的联表查询和去重复数据

    mysql的联表查询和去重复数据 /* SQLyog Ultimate v10.00 Beta1 MySQL - 5.7.17-log : Database - pusmtnew ********** ...

  2. day15(mysql 的多表查询,事务)

    mysql之多表查询 1.合并结果集 作用:合并结果集就是把两个select语句查询的结果连接到一起! /*创建表t1*/ CREATE TABLE t1(a INT PRIMARY KEY ,b V ...

  3. Mysql的交叉表查询

    最近由于找工作,所以在恶补PHP和Mysql方面的东西,发现还是学习的不够.这几天看到关于mysql的交叉表查询的内容,根据自己的理解简单的尝试了下. 由于MonsterHunter World较火, ...

  4. MySQL的多表查询

    文章目录 MySQL的多表查询 什么是多表联合查询 交叉连接(CROSS JOIN) 笛卡尔积 交叉连接 内连接 外连接 左连接 右连接 分组查询 GROUP BY单独使用 GROUP BY 与 GR ...

  5. mysql表deptno,MySQL:多表查询

    MySQL:多表查询 SELECT查询不但可以从一张表查询数据,还可以从多张表同时查询数据.查询多张表的语法是:SELECT * FROM 表1 表2,普通多表查询会获取M x N行记录,所以一般使用 ...

  6. mysql怎样两表查询_mysql怎样两表查询?

    mysql两表查询的方法:1.使用"select 字段列表 from 表1,表2 [where 条件]"进行查询:2.使用"SELECT 字段列表 FROM 表1 关键字 ...

  7. mysql数据库多表查询(内连接,外连接,自连接,子查询及案例分析)

    mysql数据库多表查询 之前接触的项目或者自己涉及的部分对于多表查询的使用都比较的少,常常是自己更具案例进行学习,最近见到的比较的多,所以今天就好好的总结一下,为下一步学习做准备! 1.多表查询关系 ...

  8. MySQL数据库多表查询

    MySQL数据库多表查询 前言 在之前的文章MySQL数据库之SQL入门中,我们讲到了四类SQL中的DQL(数据库查询语言,用于查询表中数据),但是我仅仅用DQL去查询一张表中数据,而在实际的应用中, ...

  9. MySQL:单表查询---简单查询+条件查询+高级查询+表和字段取别名

    目录 一.通用模版展示 简单查询 条件查询 高级查询 表和字段取别名 二.举例说明 简单查询 条件查询 高级查询 表和字段取别名 三.注意事项 四.Mapper简单举例 简单查询 条件查询 高级查询 ...

  10. mysql教程多表查询_mysql重点,表查询操作和多表查询

    表单查询 1. 完整的查询语句语法 select distinct(* or 字段名 or 四则运算 )from 表名 where 条件 group by 条件 having 条件 order by ...

最新文章

  1. IIS发布网页的基本操作
  2. 云计算竞争愈发激烈,2019年云计算运维前景怎么样?
  3. sign函数的功能 oracle,Oracle中sign函数和decode函数的使用
  4. linux sftp自动输入密码,使用autoexpect避免sftp输入密码
  5. [html] 举例说明写一个button的按钮的方法有哪些?
  6. 3.FreeRTOS学习笔记-任务
  7. 推荐一个中文mda网站
  8. oracle和sql server中,取前10条数据语法的区别
  9. win11如何开启GUEST账户 windows11开启GUEST账户的设置方法
  10. 利用ArcGIS做土地利用转移矩阵
  11. PC浏览器模拟手机浏览器访问网站
  12. python选题背景_选题背景及课题研究的目的与意义范例
  13. Vue3中setup前写async页面不显示
  14. 指令于动作之forward动作
  15. Python中str和repr的区别
  16. win8信息服务器不可用怎么办,win8系统rpc服务器不可用怎么办?提示rpc服务器不可用处理方法介绍...
  17. iapp小钢琴程序代码
  18. Rocketmq原理与实践
  19. 微信转盘抽奖前端源码(一):8个奖品,指针开始时指向缝隙
  20. 排序函数ROW_NUMBER()

热门文章

  1. Vue教程_基础(一)
  2. 网页中嵌入电视直播代码
  3. Pymongo 使用
  4. JOS学习笔记(五)
  5. 阿里妈妈技术:多场景下的星型CTR预估模型STAR
  6. 安装python3教程
  7. 2016年最有效的贴吧引流策略
  8. LaTeX常用格式学习笔记
  9. 关于netfilter总结及包过滤防火墙实现
  10. Gmail:如何快速将邮件全部已读