我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MYSQL教师表、系表、工作表查询

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MYSQL教师表、系表、工作表查询

题目要求:

假设有一个数据库包含以下关系模式:
Teacher(Tno,Tname,Tage,Tsex) /*主码下面加了下划线*
Department(Dno,Dname,Tno)
Work(Tno,Dno,Year,Salary)
教师表Teacher由教师代码(Tno)、教师名字(Tname)、教师年龄(Tage)、教师性别(Tsex)组成。
系表Department由系代码(Dno)、系名(Dname)、系主任代码(Tno)组成。
工作表由教师代码(Tno)、系代码(Dno)、入职年份(Year)、工资(Salary)组成。
使用关系代数表示每个查询:
①列出工资超过5000的教师的不同年龄;
②查找不在计算机系工作的教师代码;
③系主任T1管辖范围内的所有教师姓名;
④假设对关系r,p,(r)表示得到别名为x的一个相同的关系,系里的每个教师都有工资,列出比D1系的所有教师工资都高的教师代码。

目录

题目要求:

解题步骤

一、连接mysql

二、项目初始化

三、数据初始化

四、数据操作

五、关闭数据库

六、关系代数表

解题步骤

一、连接mysql

        1.win+R键弹出系统运行窗口,然后再输入cmd进入控制台窗口

        2.输入mysql -u root -p,再输入设置的初始密码登录,连接成功如下图

C:\Users\Barry Welson>mysql -u root -pEnter password: ******Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 14Server version: 8.0.13 MySQL Community Server - GPLType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>_

二、项目初始化

建立数据库,数据表

  • 查看当前用户下的所有数据库
    show databases
  • 创建数据库
    create database 数据库名称;create database if not exists 数据库名称;//如果不存在则创建数据库,避免取名冲突create database if not exists 数据库名称 character set utf8mb4;//定义utf8编译格式
  • 使用数据库
    use 数据库名称;
  • 创建Teacher表
    create table teacher( tno int, tname varchar(20), tage int, tsex varchar(8));
  • 创建Department表
    create table department(  dno int,  dname varchar(20),  tno int);
  • 创建Work表
    create table work( tno int, dno int, year int, salary int);

三、数据初始化

插入数据

  • insert into teacher(tno, tname, tage,tsex)values(1,'张三',21 , '男'),(2,'李四',42 , '女'),(3,'王五',41 , '男'),(4,'赵六',64 , '女'),(5,'孙七',25, '女'),(6,'周八',31 , '男');
  • insert into department(dno, dname, tno)values(11,'语文', 1),(22,'数学', 2),(33,'英语', 3),(44,'计算机', 4);
  • insert into work(tno, dno ,year ,salary)values(1,11,2,1000),(2,22,5,2000),(3,33,4,3000),(4,44,6,4000),(5,44,5,5000),(6,44,3,6000);

查看当前数据库下所有表

  • show tables;

查看单个表结构

  • desc 表名;

查看单个表数据

  • select* from 表名;

四、数据操作

  1. 列出工资超过5000的教师的不同年龄;
    select a.tage from work s,teacher a where a.tno=s.tno and s.salary>=5000;
  2. 查找不在计算机系工作的教师代码;
    select t.tno from teacher t,department d,work w where d.dname!='计算机' and d.dno=w.dno and w.tno=t.tno;
  3. 系主任T1管辖范围内的所有教师姓名;(以计算机老师tno=4为例)
    select t.tname from teacher t,department d,work w where d.tno=4 and d.dno=w.dno and w.tno=t.tno and t.tno!=d.tno;
  4. 假设对关系r,p,(r)表示得到别名为x的一个相同的关系,系里的每个教师都有工资,列出比D1系的所有教师工资都高的教师代码。(以计算机系为例)
    select t.tname from teacher t,work w where w.salary in (select max(salary) from work) and w.tno=t.tno;

五、关闭数据库

quit;

六、关系代数表示

  1. πage(σsalary>'5000'(Work)⨝Teacher)
  2. πtno(σdname<>'计算机'(Department)⨝Work)
  3. πtname(σtno='T1'(Department)⨝Work⨝Teacher)
  4. πtno(Work)-(πWork.tno(Work⨝Work.salary<=Work2.salary⋀Work.Dno='D1'ρWorkers(Work)))
  1. πTname,Dname(Teacher ⋊(Work⨝Department))
    TnameDname
    张丽计算机系
    李波数学系
    王艳计算机系
    赵明Null
  2. πTname,Dname((Teacher⨝ Work)⋉Department))

    TnameDname
    张丽计算机系
    李波数学系
    王艳计算机系
    Null电子系

来源地址:https://blog.csdn.net/qq_54310361/article/details/129728619

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MYSQL教师表、系表、工作表查询

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL之单表查询、多表查询

一、单表查询:单个表的查询方法及语法顺序需要通过实际例子来熟悉先将表数据创建下:mysql> create database singe_t1; # 建个数据库singe_t1Query OK, 1 row affected (0.01
2023-01-31

【MySQL】MySQL表之联合查询(多表查询)

📌前言:本篇博客介绍MySQL数据库的MySQL表之联合查询(多表查询),学习MySQL之前要先安装好MySQL,如果还没有安装的小伙伴可以看看博主前面的博客,里面有详细的安装教程。 那我们废话不多说,直接进入主体!
2023-08-16

【MySQL基础教程】多表查询

前言 本文为 【MySQL基础教程】多表查询 相关知识,下边将对多表关系,多表查询概述,内连接,外连接,自连接,子查询,多表查询案例等进行详尽介绍~ 📌博主主页:小新要变强 的主页 👉Java全栈学习路线可
2023-08-18

MySQL 多表查询

union 结果集合并使用多个select分别查询不同的表,把多个select查到的记录合并在一起一个select查到m条记录,另一个select查到n条记录,合并之后就是m+n条记录 #查询全校师生的id、name,使用2个select分别从tb_teach
MySQL  多表查询
2017-05-29

mysql-单表查询

语法:一、单表查询的语法SELECT字段1,字段2...FROM表名WHERE条件GROUPBYfieldHAVING筛选ORDERBYfieldLIMIT限制条数二、关键字的执行优先级(重点)重点中的重点:关键字的执行优先级fromwhe
2023-01-30

mysql-多表查询

准备工作:准备两张表,部门表(department)、员工表(employee)mysql> create database db2;Query OK, 1 row affected (0.00 sec)mysql> use db2;Dat
2023-01-30

MySQL----多表查询

MySQL----多表查询 多表关系表与表之间的联系:一对多(多对一)多对多一对一 多表查询多表查询的分类数据准备内连接外连接自连接联合查询子查询标量子查询列子查询行子查询表子查询 多表查询案例 多表关系 在进
2023-08-19

mysql (2)-单表查询

简单查询查询一个字段:  select 字段名 from 表名;其中要注意:  select和from都是关键字。  字段名和表名都是标识符。强调:  对于SQL语句来说,是通用的,  所有的SQL语句以“;”结尾。  另外SQL语句不区分大小写,都行。实例:
mysql (2)-单表查询
2019-05-11

mysql怎么查询表

要查询 mysql 表,请使用 select 语句。步骤包括:1. 选择列名;2. 指定表名;3. 添加可选的 where 子句(过滤条件);4. 添加可选的 order by 子句(排序)。例如:select name, email fr
mysql怎么查询表
2024-05-30

连接查询(多表查询)——MySQL

连接查询(多表查询) 又称多表查询,当查询的字段涉及多个表的时候,就要用到连接查询 分类: 为表起别名: 提高语句的简洁度区分多个重名字段注意:如果为表起了别名,则查询的字段就不能使用原来的别名去限定 内连接 查询A、B 交集部分数据 语
2023-08-18

编程热搜

目录