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. Golang防止多个进程重复执行

    创建锁文件 lockFile := "./lock.pid" lock, err := os.Create(lockFile) if err != nil { log.Fatal( ...

  2. python类属性 静态方法

      实例 实例就是由对象创建出来的实实在在的存在 创建出来的对象叫做类的实例 创建对象的动作叫做实例化 对象的属性叫做实例的属性 对象调用的方法叫做实例方法   类是一个特殊的对象   类属性 类属性 ...

  3. 手机号码生成器app有吗,怎么使用的呢?

    手机号码生成器app是有的,他有手机号码生成器安卓版,也有手机号码生成器苹果版的.很多人会误解他的功能以为是拿来生成号码来接验证码的,其实他不是拿来接短信的.它是用来给别人做营销找客沪的找客源的,接不 ...

  4. Codeforces Round #603 (Div. 2)

    传送门 感觉脑子还是转得太慢了QAQ,一些问题老是想得很慢... A. Sweet Problem 签到. Code /* * Author: heyuhhh * Created Time: 2019 ...

  5. 201871010116-祁英红《面向对象程序设计(java)》第十周学习总结

    博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...

  6. Java Web 学习(7) —— Spring MVC 之国际化

    Spring MVC 之国际化 i18n 与 l10n internationalization:国际化,以 i 开头,以 n 结尾,中间 18 个字母,简称 i18n. localization:本 ...

  7. WPF 精修篇 数据绑定到对象

    原文:WPF 精修篇 数据绑定到对象 数据绑定到对象 首先 我们需要一个对象 public class Preson { private string name; public string Name ...

  8. Educational Codeforces Round 76 (Rated for Div. 2) C. Dominated Subarray 水题

    C. Dominated Subarray Let's call an array

  9. Python常用模块实战之ATM和购物车系统再升级

    目录 一.项目地址 二.功能需求 一.项目地址 https://github.com/nickchen121/atm 二.功能需求 FUNC_MSG = { '0': '注销', '1': '登录', ...

  10. python接口自动化12-pytest前后置与fixture

    前言 我们都知道在自动化测试中都会用到前后置,pytest 相比 unittest 无论是前后置还是插件等都灵活了许多,还能自己用 fixture 来定义.(甩 unttest 半条街?) 首先了解一 ...