mysql数据库查询减法计算_我对数据库关系代数中减法sql实现的思考:mysql脚本...
一、创建数据库,创建表结构CREATE DATABASE Test_sub DEFAULT CHARACTER SET utf8;
USE Test_sub;
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT, -- 学号 id
NAME VARCHAR(10) -- 姓名 name
);
CREATE TABLE course(
id INT PRIMARY KEY AUTO_INCREMENT, -- 课程号 id
NAME VARCHAR(10) -- 课程名 name
);
CREATE TABLE sc(
student_id INT,
course_id INT,
PRIMARY KEY(student_id, course_id),
CONSTRAINT student_fk FOREIGN KEY(student_id) REFERENCES student(id) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT course_fk FOREIGN KEY(course_id) REFERENCES course(id) ON UPDATE CASCADE ON DELETE CASCADE
);
二、插入数据INSERT INTO student(NAME) VALUES
('aaa'), ('bbb'), ('ccc'), ('ddd');
INSERT INTO course(NAME) VALUES
('课程_1'), ('课程_2'), ('课程_3'), ('课程_4');
INSERT INTO sc VALUES
(1, 1), (1, 2), (1, 3), (1, 4),
(2, 1), (2, 2), (2, 3),
(3, 1), (3, 2),
(4, 1);
三、操作
查询学生ddd未选的课程:使用左外连接,并查询为空的SELECT course.name
-- select *
FROM
course LEFT JOIN
(
SELECT *
FROM sc
WHERE sc.student_id =
(
SELECT id
FROM student
WHERE NAME = 'ddd'
-- limit 0,1
)
) AS sc_1
ON course.id = sc_1.course_id
WHERE sc_1.student_id IS NULL;
补:课本案例,实现左外、右外:
1.创建表结构:CREATE TABLE R(
A CHAR(2),
B CHAR(2),
C CHAR(2)
);
CREATE TABLE S(
B CHAR(2),
E CHAR(2)
);
2.插入值:INSERT INTO R VALUES
('a1', 'b1', '5'),
('a1', 'b2', '6'),
('a2', 'b3', '8'),
('a2', 'b4', '12');
INSERT INTO S VALUES
('b1', '3'),
('b2', '7'),
('b3', '10'),
('b3', '2'),
('b5', '2');
3.测试左外:SELECT *
FROM r
LEFT JOIN s ON r.b = s.b;
4.测试右外:SELECT *
FROM r
RIGHT JOIN s ON r.b = s.b;
mysql数据库查询减法计算_我对数据库关系代数中减法sql实现的思考:mysql脚本...相关推荐
- mysql实验四数据库查询和视图_实验四 数据库查询和视图.doc
实验四 数据库查询和视图 测试过程:(实验中出现的问题.错误.解决方法) 问题一:新建查询,调试过程中出现提示无效行或列 问题二:新建查询,调试过程中出现第几行出现错误 解决办法:检查新建的查询,标点 ...
- mysql实验四数据库查询和视图_数据库-第四次实验报告-视图-t-sql语句
实验十报告 创建视图 实验目的 1.掌握创建视图的SQL语句的用法. 2.掌握使用企业管管理器创建视图的方法. 3.掌握使用创建视图向导创建视图的方法. 4.掌握查看视图的系统存储过程的用法. 5.掌 ...
- mysql数据库查询源码_超简单php mysql数据库查询类
本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host; //主机名称:一般是localhost private $root; ...
- MySQL查询实验报告_实验报告数据库的基本查询'
<实验报告数据库的基本查询'>由会员分享,可在线阅读,更多相关<实验报告数据库的基本查询'(5页珍藏版)>请在人人文库网上搜索. 1.一.实验目的:通过该实验掌握应用SQL 查 ...
- java mysql单库多表_第69节:Java中数据库的多表操作
第69节:Java中数据库的多表操作 前言 学习数据库的多表操作,去电商行业做项目吧!!! 达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文 ...
- mysql killed进程不结束_优秀的数据库产品——MySQL 云数据库服务
作为一种低成本,高性能,高可靠性和开放源代码的数据库产品,MySQL已在Internet公司中广泛使用. 例如,淘宝有数千个MySQL服务器. 尽管NoSQL在过去两年中发展迅速,新产品层出不穷,但N ...
- Prometheus时序数据库-报警的计算 及 Prometheus时序数据库-数据的查询
前言 在前面的文章中,笔者详细的阐述了Prometheus的数据插入存储查询等过程.但作为一个监控神器,报警计算功能是必不可少的.自然的Prometheus也提供了灵活强大的报警规则可以让我们自由去发 ...
- Mysql慢查询深入剖析_《深入精通Mysql(六)》系列之如何通过慢查询日志进行SQL分析和优化...
深入精通Mysql系列其他文章推荐: 从本系列第一篇<深入精通Mysql(一)>系列之Mysql整体架构和sql执行过程我们就可以知道一条sql语句的执行过程会经过优化器进行优化. 优化器 ...
- mysql 按时间累计计算_精通MySQL索引背后的数据结构及算法原理
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,mysql支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree ...
最新文章
- JavaScript中Object的总结
- Flutter 动画全解析(动画四要素、动画组件、隐式动画组件原理等)
- Nginx和Tengine
- 满足什么条件的两个量才可以被分类?
- Spring TX源码分析
- 如何在servlet刚启动时候获取服务器根目录?
- SpringBoot之基础
- log4j之log4j2.xml使用
- Bash基础——快捷键
- Codeforces Round #442 (Div. 2) 877E - Danil and a Part-time Job dfs序+线段树
- Putty CentOS SSH 总是自动断开连接
- msvcr71.dll丢失的解决方法,哪种解决方法更好?
- Bugku misc 旋转跳跃wp
- Win10应用商店提示0x80070422解决方法
- debian 屌丝日记
- 代码坏的味道13:夸夸其谈未来性(Speculative Generality)
- android 英语词库
- 《增强现实:原理、算法与应用》读书笔记(1)基础矩阵、本质矩阵与单应性矩阵
- 学计算机专业选i5四核还是6核,计算机CPU的4核和6核有什么区别?
- 优派vx2480功能简评
热门文章
- python的实时音频传送_python – 使用Alexa传输音频的最简单示例
- java 读取mysql日志_如何在MySQL中查看日志文件?
- 计算机课平时成绩重要吗,大学计算机基础课程平时成绩评定方法的研究.pdf
- Java set的区别_Java Set集合详解及Set与List的区别
- visionpro 窗口显示文字
- Open3d之非阻塞可视化
- php 3des 兼容java,java版3des加密程序,可与php兼容
- oracle indices,Oracle PL/SQL INDICES
- 模型驱动开发 - 产品线架构的演进
- 线性筛法--------2013年1月2日