SQL-多表

news2024/12/29 10:53:23

 

create table course (
    id int auto_increment primary key comment '主键id',
    name varchar(10) comment '课程名字'
);
insert into course (name) values ('java'),('linux'),('SQL');

create table course_student (
    id int auto_increment primary key comment '主键id',
    studentid int not null comment '学生id',
    courseid int not null comment '课程id',
    constraint ky_cs_student foreign key(studentid) references student(id),
    constraint ky_cs_course foreign key(courseid) references course(id)
);
insert into course_student values (null,1,1),(null,2,1),(null,2,2),(null,1,2);

alter table user add userid int unique auto_increment primary key comment '用户id';

 

 

 select u.name,k.name from user u,kept k where u.kept_id = k.ky_id;  -- 使用多表连接可以使用别名
select kept.name,user.name from kept inner join user on kept.ky_id = user.kept_id;-- 显示连接比隐式连接扫描快

 

-- 查询员工所有信息包括部门(左外和右外区别是想显示哪个表的所有信息(null))
select u.*,k.name from user u left join kept k on k.ky_id = u.kept_id;
select u.*,k.name from user u right join kept k on k.ky_id = u.kept_id;

 

all则显示重复字段,不加则显示不重复字段
select u.*,k.name from user u left join kept k on k.ky_id = u.kept_id
union
select u.*,k.name from user u right join kept k on k.ky_id = u.kept_id;

 

  

select * from user where entrydata > (select entrydata from user where name = '嘉');

 

select * from user where user.kept_id in (select ky_id from kept where name = '科研部' or name = '财务部');

(select user.soces from user where user.kept_id = (select ky_id from kept where name = '财务部'));

select * from user where soces > any(select user.soces from user where user.kept_id = (select ky_id from kept where name = '科研部'));

 

 行子查询返回的是多个列

-- 查询与陈相同分数和相同部门的员工信息
select * from user where (user.soces,user.kept_id) = (select user.soces,user.kept_id from user where name = '陈');

 

 查询与陈和颖分数和部门相同的员工信息

注意第 3,10,11,12

select u.name,u.age,u.soces,k.name from user u left join kept k on u.kept_id = k.ky_id;

select u.name,u.age,u.soces,k.name from user u left join kept k on u.kept_id = k.ky_id where age <= 22;

insert into kept (name) values ('销售部');
select distinct k.name,k.ky_id from kept k,user u where k.ky_id = u.kept_id;-- 去重字段istinct
select u.name,k.name from user u left join kept k on k.ky_id = u.kept_id where u.age >= 22;
select
       name,
       case when soces >= 90 then '优秀' when user.soces between 89 and 80 then '良好' when user.soces between 60 and 79 then '及格' else '不及格' end
from user;

select
       u.*,
       case when u.soces >= 90 then '优秀' when u.soces between 80 and 89 then '良好' when u.soces between 60 and 79 then '及格' else '不及格' end
from user u where u.kept_id = (select ky_id from kept where name = '科研部');

select avg(soces) from user where user.kept_id = (select ky_id from kept where name = '科研部');

select * from user where user.soces >= (select user.soces from user where name = '煎包');

select * from user where user.soces >= (select avg(user.soces) from user);
-- 查询本部门时应用循环
select * from user u1 where u1.soces < (select avg(u2.soces) from user u2 where u2.kept_id = u1.kept_id);

select k1.* ,(select count(*) from user where user.kept_id = k1.ky_id) '人数' from kept k1;

select distinct s.name,s.id,c.name from course_student cs,student s,course c where cs.studentid = s.id and cs.courseid = c.id;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码开发平台源码:基于模型驱动,内置功能强大的建模引擎,零代码也能快速创建智能化、移动化的企业应用程序

管理后台低代码PaaS平台是一款基于 Salesforce Platform 的开源替代方案&#xff0c;旨在为企业提供高效、灵活、易于使用的低代码开发平台。低代码PaaS平台的10大核心引擎功能:1.建模引擎 2.移动引擎 3.流程引擎 4.页面引擎 5.报表引擎 6.安全引擎 7.API引擎 8.应用集成引擎 9…

MySQL执行一条select语句,执行过程怎么样

执行一条select语句&#xff0c;执行过程怎么样 连接器 与客户端进行 TCP 三次握手建立连接&#xff1b;MySQL基于TCP协议进行传输的校验客户端的用户名和密码&#xff0c;如果用户名或密码不对&#xff0c;则会报错如果用户名和密码都对了&#xff0c;会读取该用户的权限&…

湖南省物业满意度研究(群狼调研)

01 行业现状 随着湖南省物业行业的蓬勃发展&#xff0c;物业管理走向规范化的道路。近年来&#xff0c;湖南省物业管理行业迎来飞速发展的黄金时期&#xff0c;全省物业服务相关企业已超过9万家&#xff0c;其中长沙市占据了四成以上。 数据来源&#xff1a;天眼查公开数据 在…

直播丨如何用最新的 Serverless 技术让文化古籍“活过来”?

当前&#xff0c;古籍数字化面临技术难度高、资金缺口大、人才紧张等难点。云计算和人工智能技术可以高效实现古籍产品化、可视化、平台化&#xff0c;不仅使其保存形式迈上一个新台阶&#xff0c;还可以有效降低用户阅读门槛。 本次 Serverless 圆桌派 特别邀请上海慧游文化 …

TCGA数据批量运行Coxph函数

df数据框形如&#xff1a; djs.coxph <- function(df,genelist){library(survival)library(survminer)dir.create("./survival")setwd("./survival")# 准备好的生存分析数据框&#xff0c;变量中包括OS.time,OS以及values of gene expression df <…

论文阅读 - Few-shot Network Anomaly Detection via Cross-network Meta-learning

论文链接&#xff1a;https://arxiv.org/pdf/2102.11165.pdf 目录 摘要&#xff1a; 引言 问题定义 方法 Graph Deviation Networks Cross-network Meta-learning 摘要&#xff1a; 网络异常检测旨在找到与绝大多数行为显着不同的网络元素&#xff08;例如节点、边、子图…

河北沃克仓储解决方案最新布局|HEGERLS四向穿梭车在高标仓和楼层仓中的应用

河北沃克金属制品有限公司是业内十分稀缺可提供整体物流仓储解决方案并落地的企业&#xff0c;既拥有自主研发和生产等一整套核心软硬件的能力&#xff0c;又具备丰富的整体方案规划与实施经验。经过多年积累和开拓&#xff0c;河北沃克金属制品有限公司业务已拓展覆盖近众多行…

如何列出phpMyAdmin左侧菜单中的所有表格 - 不分页 - 显示数据库所有的表

效果图 原来 优化后 步骤 点击logo&#xff0c;回到首页 点击设置 》 导航面板 》 导航树 》 节点中最大项数 》 应用 ok

Windows下RocketMQ的启动

下载地址&#xff1a;下载 | RocketMQ 解压后 一、修改runbroker.cmd 修改 bin目录下的runbroker.cmd set "JAVA_OPT%JAVA_OPT% -server -Xms2g -Xmx2g" set "JAVA_OPT%JAVA_OPT% -XX:MaxDirectMemorySize15g" set "JAVA_OPT%JAVA_OPT% -cp %CLASSP…

jmeter之接口测试(http接口测试)

基础知识储备 一、了解jmeter接口测试请求接口的原理 客户端--发送一个请求动作--服务器响应--返回客户端 客户端--发送一个请求动作--jmeter代理服务器---服务器--jmeter代理服务器--服务器 二、了解基础接口知识&#xff1a; 1、什么是接口&#xff1a;前端与后台之间的…

MySQL 的 Join 查询及 Hash Join 优化 | StoneDB 技术分享会 #3

StoneDB开源地址 https://github.com/stoneatom/stonedb 设计&#xff1a;小艾 审核&#xff1a;丁奇、宇亭 编辑&#xff1a;宇亭 作者一&#xff1a;徐鑫强&#xff08;花名&#xff1a;无花果&#xff09; 电子科技大学-计算机技术-在读硕士、StoneDB 内核研发实习生 作…

BES 平台 SDK之代码架构讲解二

本文章是基于BES2700 芯片&#xff0c;其他BESxxx 芯片可做参考&#xff0c;如有不当之处&#xff0c;欢迎评论区留言指出。 BES 平台 SDK之代码架构讲解一_谢文浩的博客-CSDN博客 上篇文章粗略的对整个SDK 目录下的文件进行了说明&#xff0c;接下来会对SDK 比较详细的介绍。…

C语言实用调试详解

目录 什么是bug? 调试是什么?有多重要? 调试是什么? 调试的基本步骤 Debug和Release的介绍 Windows环境调试介绍 调试环境的准备 学会快捷键 调试的时候查看程序当前信息 查看临时变量的值 查看内存信息 查看调用堆栈 查看汇编信息 查看寄存器信息 一些调试…

HCIP 重发布+路由策略总结

重发布 在同一个网络拓结构中&#xff0c;如果存在多种不同的路由协议&#xff0c;由于不同路由协议的机制各有不同&#xff0c;对路由的处理也不相同&#xff0c;这就在网络中造成了路由信息的隔离&#xff0c;在路由器的边界路由器上&#xff0c;将某种路由协议的路由信息引…

[网络工程师]-网络规划与设计-网络故障分析与处理

网络环境越复杂,发生故障的可能性越大,引发故障的原因也就越难确定。网络故障往往具有特定的故障现象。这些现象可能比较笼统,也可能比较特殊。利用特定的故障排查工具及技巧,在具体的网络环境下观察故障现象,细致分析,最终必然可以查出一个或多个引发故障的原因。一旦能…

gitlab上传代码

输入 git clone https地址&#xff0c;此地址可以在&#xff0c;gitlab项目上拷贝到本地&#xff0c;看本地电脑会出现在gitlab上新建的项目&#xff0c;并进入该目录下 将要上传的代码拷贝到该目录 依次输入一下代码 git init &#xff08;用于在目录中创建新的 Git 仓库。…

打造独一无二的花店小程序,轻松搭建步骤详解

随着移动互联网的快速发展&#xff0c;花店也开始意识到拥有一个专属的小程序能够提升用户体验、增加销售额。那么&#xff0c;如何快速搭建一个漂亮、实用的花店小程序呢&#xff1f;下面就为大家介绍一下具体的步骤。 第一步&#xff0c;使用第三方制作平台。如乔拓云网是一个…

setEagerlyType字段理解

官方文档介绍&#xff1a;V5.0.4版本开始一对一关联预载入支持两种方式&#xff1a;JOIN方式&#xff08;一次查询&#xff09;和IN方式&#xff08;两次查询&#xff09;&#xff0c;如果要使用IN方式关联预载入&#xff0c;在关联定义方法中添加。 这句话的意思是jion方式关联…

阿里云服务器免费试用及搭建WordPress网站

文章目录 前言一、免费试用1、选择使用产品2、进行产品配置3、远程连接阿里云服务器①、重置实例密码②、SecureCRT 远程链接③、Workbench 远程链接二、搭建 WordPress 网站1、开放搭建 WordPress 需要的端口2、搭建 LAMP 环境①、Linux 系统升级和更新源②、安装 Apache2③、…

【Excel】记录Match和Index函数的用法

最近一直用到的两个处理EXCEL表格数据的函数向大家介绍一下&#xff0c;写这篇博文的目的也是为了记录免得自己忘记了&#xff0c;嘻嘻。 先上百度的链接 Match函数的用法介绍&#xff1a;https://jingyan.baidu.com/article/2fb0ba40b4933941f3ec5f71.html 小结&#xff1a;…