alter table my_class add id varchar(10);
alter table my_class change id id varchar(10) first;
alter table my_class change class room varchar(10);
truncate my_class;
insert into my_class values('1','Java01','A101'),('2','Python01','B101');
insert into my_class (id,name,room) value ('3','Java02','B203');
update my_student set c_id='3' where name in ('Tom','Lily','张三');
update my_student set c_id='1' where name in ('Lucy','Anthony');
update my_student set c_id='2' where name ='李四';
select * from my_student inner join my_class on my_student.c_id=my_class.id;
select * from my_student inner join my_class on c_id = my_class.id;
select s.*,c.name as c_name,c.room from my_student as s inner join my_class as c on s.c_id=c.id;
select s.*,c.name as c_name,c.room from my_student as s inner join my_class as c where s.c_id=c.id;

---------外连接
select * from my_class;
select * from my_student;
--左连接
select s.* ,c.name as c_name,c.room from my_student as s left join my_class as c
on s.c_id=c.id;
--右连接
select s.*,c.name as c_name,c.room from my_student as s right join my_class as c on c.id=s.c_id;
--左右连接可以互转的
select s.*,c.name as c_name,c.room from my_class as c right join my_student as s on c.id = s.c_id;

--创建学生数据库
create database school;
use school;
create table Student(
StuId varchar(5) primary key,
StuName varchar(10) not null,
StuAge int,
StuSex char(1) not null
)charset utf8;
insert into Student values('1000','张无忌',18,'男'),
('1001','周芷若',19,'女'),
('1002','杨过',19,'男'),
('1003','小龙女',17,'女'),
('1004','赵敏',18,'女');

insert into Student (StuId,StuName,StuAge,StuSex) value ('1005','张三丰',20,'男');
insert into Student (StuId,StuName,StuAge,StuSex) value ('1006','令狐冲',19,'男');

insert into Student (StuId,StuName,StuAge,StuSex) values ('1007','任盈盈',20,'女'),
('1008','邱灵珊',19,'女'),
('1009','韦小宝',18,'男'),
('1010','康敏',17,'女');

--创建老师表
create table Teacher(
TeaId varchar(3) primary key,
TeaName varchar(10) not null

)charset utf8;

insert into Teacher values('001','张伟'),
('002','叶平'),
('003','张军'),
('004','李小璐'),
('005','乔丹'),
('006','科比');

create table Course(
CourseId varchar(3) primary key,
CourseName varchar(20) not null,
TeaId varchar(3) not null,
foreign key(TeaId) references Teacher(TeaId)
)charset utf8;

insert into Course values ('001','企业管理','005'),
('002','篮球','006'),
('003','马克思','001'),
('004','Java基础','003'),
('005','数据结构','002'),
('006','舞蹈','004');

create table Score(
StuId varchar(5) not null,
CourseId varchar(3) not null,
Score float,
foreign key(StuId) references Student(StuId),
foreign key(CourseId) references Course(CourseId)
)charset utf8;

insert into Score values ('1001','003',90),
('1002','001',85),
('1003','002',65),
('1004','005',55),
('1005','004',95),
('1006','003',80),
('1007','002',75),
('1008','005',99),
('1009','001',79),
('1010','004',88);

mysql 高级查询三的更多相关文章

  1. 第三章 MySQL高级查询(一)

    第三章 MySQL高级查询(一) 一.SQL语言的四个分类 1.       DML(Data Manipulation Language)(数据操作语言):用来插入,修改和删除表中的数据,如INSE ...

  2. 第四章 MySQL高级查询(二)

    第四章 MySQL高级查询(二) 一.EXISTS子查询 在执行create 或drop语句之前,可以使用exists语句判断该数据库对像是否存在,返回值是true或false.除此之外,exists ...

  3. MySQL 高级查询操作

    目录 MySQL 高级查询操作 一.预告 二.简单查询 三.显示筛选 四.存储过程 五.查询语句 1.作为变量 2.函数调用 3.写入数据表 备注 附表一 附表二 相关文献 博客提示 MySQL 高级 ...

  4. python进阶09 MySQL高级查询

    python进阶09 MySQL高级查询 一.筛选条件 # 比较运算符 # 等于:= 不等于:!= 或<> 大于:> 小于:< 大于等于>= 小于等于:<= #空: ...

  5. MySQL高级查询与编程作业目录 (作业笔记)

    MySQL高级查询与编程笔记 • [目录] 第1章 数据库设计原理与实战 >>> 第2章 数据定义和操作 >>> 2.1.4 使用 DDL 语句分别创建仓库表.供应 ...

  6. MySQL高级查询与编程笔记 • 【目录】

    章节 内容 实践练习 MySQL高级查询与编程作业目录(作业笔记) 第1章 MySQL高级查询与编程笔记 • [第1章 数据库设计原理与实战] 第2章 MySQL高级查询与编程笔记 • [第2章 数据 ...

  7. 2.mysql高级查询

    01.SQL高级查询_排序     1.排序语句:order by 排序字段名  asc(默认的-升序) / desc(降序);     2.例如:查询所有服装类商品,将查询结果以价格升序排序:   ...

  8. MySQL高级查询 & 事务机制

    1.基础查询where 高级条件查询Where子句 SELECT empno,ename,sal,hiredate FROM t_tmp WHERE deptno=10 AND (sal+IFNULL ...

  9. MySQL高级查询语句

    高级查询: 一:多表连接 1.select Info.Code,Info.Name,Nation.Name from Info,Nation where Info.Nation = Nation.Co ...

随机推荐

  1. STL 中 map 的使用

    涉及:vector,pair 基本结构 map 从本质上来说是一颗二叉排序树,树上的节点类型为pair.pair类型中有两个重要的成员变量,其中 first 存储了 key ,second 存储了 v ...

  2. myeclipse 9.0 破解方法,亲测可用

    MyEclipse 9.0的破解方法,步骤如下: 1.破解公钥,确保MyEclipse没有开启,否则失败! 用WinRAR打开Common\plugins\com.genuitec.eclipse.c ...

  3. 如何查找jdk安装路径也就是JAVA_HOME配置的环境变量

  4. vue框架学习笔记(vue入门篇)

    vue框架 - 构建用户界面的渐进式框架 - 采用自底层向上增量开发的设计 - 核心库只关注视图层 - 当与单文件组件和vue生态系统支持的库结合使用时,也完全能够为复杂的单页应用程序提供驱动 - v ...

  5. 在 ASP.NET Core 项目中使用 npm 管理你的前端组件包

    一.前言 在项目的前端开发中,对于绝大多数的小伙伴来说,当然,也包括我,不可避免的需要在项目中使用到一些第三方的组件包.这时,团队中的小伙伴是选择直接去组件的官网上下载,还是图省事直接在网上搜索,然后 ...

  6. Python开发GUI实战:图片转换素描画工具!

    奋斗没有终点 好好学习72变,因为将来 没有人能替你阻挡81难 . 生如蝼蚁,当有鸿鹄之志: 命如纸薄,应有不屈之心 . ​ 今天被这句话触动了,所以开篇分享给大家.鸡汤有毒,但有时大家却靠它激励自己 ...

  7. js的事件循环(Event Loop)

    (本文从掘金小册整理) 首先介绍一下几个概念 进程与线程 相信大家经常会听到 JS 是单线程执行的,但是你是否疑惑过什么是线程? 讲到线程,那么肯定也得说一下进程.本质上来说,两个名词都是 CPU 工 ...

  8. sed命令:删除匹配行和替换

    删除以a开头的行 sed -i '/^a.*/d' tmp.txt -i 表示操作在源文件上生效.否则操作内存中数据,并不写入文件中.在分号内的/d表示删除匹配的行 替换匹配行: sed -i 's/ ...

  9. java中的常用类(二)

    java中的常用类(二) Math类 Math类的声明:public final class Math extends Object Math类是与数学计算有关的类,里面的方法都是静态方法,直接使用类 ...

  10. .NET MVC5简介(五)管道处理模型IHttpModule

    https://www.cnblogs.com/JimmyZhang/archive/2007/09/04/880967.html IHttpModule HTTPRuntime(运行时).在一个控制 ...