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. 005.MongoDB索引及聚合

    一 MongoDB 索引 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录. 这种扫描全集合的查询效率是非常低的,特别在处 ...

  2. 利用Github建立博客专用图库

    0.前言 当我们写博客或者文档的时候常常需要引用图片.倘或引用图片的链接是外网的,常常会出现加载过慢的情况,并且不稳定的图片来源不方便管理.所以如果建立一个博客专用的图片仓库,统一管理维护方面就方便得 ...

  3. MySQL Explain详解 查看mysql语句详情

    在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有 ...

  4. 去除mysql里面重复的行并留下id最小的

    DELETE FROM wynews WHERE title IN (SELECT * FROM (SELECT title FROM wynews GROUP BY title HAVING COU ...

  5. 小程序-API请求

    Page({ onLoad:function(){ // 在onLoad中调用发送请求的函数 this.getProList(); } getProList:function(){ var self= ...

  6. pytorch--基础类型之间的转换

    在pytorch自己定义张量并进行计算的时候,往往会因为类型不匹配而报错,这里稍微记下pytorch之间的类型转换: 对tensor基础类型进行转换:比如说int().float().long().d ...

  7. 《转》sql处理百万级以上的数据提高查询速度的方法

    处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考 ...

  8. python做中学(五)多线程的用法

    多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条 ...

  9. pytest框架之pytest-html报告生成

    一.关于安装 pytest-html属于pytest的一个插件,使用它需要先安装 pip install pytest-html pytest可以生成多种样式的结果: 生成JunitXML格式的测试报 ...

  10. C# rename files

    static void RenameFiles() { string sourceDir = @"D:\ll"; string[] allFiles = Directory.Get ...