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. Fiddler 过滤掉无用域名

    - 在 Fiters 一栏勾选Show only Internet Hosts 及Show only the following Hosts- 然后在下面输入需要保留的域名

  2. python包matplotlib绘制图像

    使用matplotlib绘制图像 import matplotlib.pyplot as plt from matplotlib.pyplot import MultipleLocator impor ...

  3. IT兄弟连 Java语法教程 数组 什么是数组

    数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出数组元素的值.Java语言的数组则具有其特有的特征, ...

  4. 【UOJ#242】【UR#16】破坏蛋糕(计算几何)

    [UOJ#242][UR#16]破坏蛋糕(计算几何) 题面 UOJ 题解 为了方便,我们假定最后一条直线是从上往下穿过来的,比如说把它当成坐标系的\(y\)轴. 于是我们可以处理出所有交点,然后把它们 ...

  5. VS2017安装使用Easyx时出现的问题及解决方法

    EasyX 是针对 Visual C++ 的绘图库,在初学 C 语言实现图形和游戏编程.图形学.分形学等需要绘图实践的领域有一定应用. EasyX 库在 Visual C++ 中模拟了 Turbo C ...

  6. sql 小全

    前些日子sql用到哪里写到哪里,乱七八糟,今天整理了一下,以作备份(虽然开通博客已经八个月了,但是今天还是第一次发表博文,好紧张啊~~) --2014.08.27号整理sql语句 1:进入数据库 us ...

  7. Java --Lamda表达式

    Lamda:属于函数式编程的概念: interface IMessage { public void print() ; } public class TestDemo { public static ...

  8. .NET能开发出什么样的APP?盘点通过Smobiler开发的APP

    .NET程序员一定最熟悉所见即所得式开发,亲切的Visual Studio开发界面,敲了无数个日夜的C#代码. Smobiler也是因为具备这样的特性,使开发人员,可以在VisualStudio上,像 ...

  9. Vue实战狗尾草博客管理平台第五章

    本章主要内容如下: 静态资源服务器的配置.学会如何使用静态资源服务器引入静态资源.并给大家推荐一个免费可使用的oss服务器~ 页面的开发由于近期做出的更改较大.就放在下一篇中. 静态资源服务器 静态资 ...

  10. 利用python去实现数学基本值的计算

    def get_nums(): nums = []#获取列表 num = input('请输入数字:').strip() while num != '': nums.append(num)#添加数字 ...