第10课 数据库之多表运用

news/2025/1/23 10:24:09/文章来源:https://www.cnblogs.com/qq3074699547/p/18510435

一、多表查询

1、什么是多表关联查询
从2个表或者更多的表中查询我们需要的数据
2、多表连接的关系?
(1)内连接
(2)左连接
(3)右连接
(4)左独有数据
(5)右独有数据
(6)全外连接
比如: a 表:1,2,3 b 表:1,2,4
内连接:显示左边12和右边12关联 12
左连接:显示左边1,2,3,右 边12 关联 123 4不显示
右连接: 显示右边1,2,4全部显示,左 边12关联 124, 3不显示
左独有数据:显示3
右独有数据:显示4
全外连接:显示1,2,3,4

三、内连接
1、内连接(普通内连接,隐藏内连接)
定义:查询两个表共有的关联的数据
(1)普通内连接:
格式:select * from 表1 inner join 表2 on 表1.关联字段1=表2.关联字段2 ;
案例:select * from dept inner join emp on dept.dept1=emp.dept2 ;

(2)隐藏内连接
格式:select * from 表1 , 表2 where 表1.关联字段1=表2.关联字段2 ;
案例:select * from dept ,emp where dept.dept1=emp.dept2

2、左连接
格式:select * from 表1 left join 表2 on 表1.关联字段1=表2.关联字段2 ;
案例:select * from dept left join emp on dept.dept1=emp.dept2;

3.右连接
格式:select * from 表1 right join 表2 on 表1.关联字段1=表2.关联字段2 ;
案例:select * from dept right join emp on dept.dept1=emp.dept2;

4、左独有数据
格式:select * from 表1 left join 表2 on 表1.关联字段1=表2.关联字段2 where 右表字段 is null ;
案例:select * from dept left join emp on dept.dept1=emp.dept2 wehre name is null;

五、右独有数据
格式:select * from 表1 right join 表2 on 表1.关联字段1=表2.关联字段2 where 左表字段 is null ;
案例:select * from dept right join emp on dept.dept1=emp.dept2 wehre dept1 is null;

六、全外连接 (union)

1内连接+左独有+右独有

select * from dept inner join emp on dept.dept1=emp.dept2
UNION
select * from dept left join emp on dept.dept1=emp.dept2 where name is null
UNION
select * from dept right join emp on dept.dept1=emp.dept2 where dept1 is null;

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

明明花了大价钱,为什么你的CMDB还是用不起来?

明明是谁?你果然在外面有狗子了! 在IT服务管理(ITSM)的世界里,CMDB(配置管理数据库)被看作是连接各个管理流程的桥梁,它记录了IT环境中所有配置项(CI)的详细信息及其相互关系。然而,在实践中,许多组织尽管投入了大量资源来构建和维护CMDB,却发现CMDB难以有效使用。…

Nuxt.js 应用中的 imports:extend 事件钩子详解

title: Nuxt.js 应用中的 imports:extend 事件钩子详解 date: 2024/10/28 updated: 2024/10/28 author: cmdragon excerpt: imports:extend 是 Nuxt.js 中的一个生命周期钩子,允许开发者在模块设置过程中扩展导入。使用此钩子,开发者可以灵活地管理和调整模块的导入配置,从…

3、整体布局

1、布局大概如下:2、修改App.vue,增加菜单<template><div class="layout"><el-container class="container"><el-aside class="aside"><!--系统名称+logo--><div class="head"><div><…

ctfshow-misc29

010editor修改gif的高度,批量96 00全部换成FF 00,保存后,逐帧查看,会发现flag。

Webpack搭建本地服务器

为什么要搭建本地服务器webpack-dev-server认识模块热替换(HMR)开启HMR框架的HMR

深入理解openstack neutron

1. neutron network数据结构说明网络分为租户网络和运营商网络,租户网络由租户创建,运营商网络由管理员创建 网络结构里没有网络类型和vlanid,vni这些信息的字段,是由配置文件决定的# [etc/neutron/plugins/ml2/ml2_conf.ini] tenant_network_types = vxlan [ml2_type_vxla…

【Java】【SpringBoot】logback开发环境配置

LogBack开发环境配置 Logback是一个开源的日志记录库,它是log4j的一个改进版本 。Logback被设计为易于使用,同时提供强大的日志管理功能。 1.添加依赖 在pom.xml文件中添加依赖: <dependency><groupId>ch.qos.logback</groupId><artifactId>logback…

【NSSCTF】nssctf2024秋季招新赛赛

【NSSCTF】2024年NSSCTF秋季招新赛 Reverse 签到? key加密密文: 主加密程序解密脚本: a = [32,39,38,37,44,45,15,34,20,30,33,24,9,223,200,28,231,5,229,226,238,26,230,4,217,201,227,10,245,241,248,243,250,234,255,231,245,185,228,] b = [104, 117, 117, 101, 114, 9…

2、添加路由

1、在项目根目录安装 vue-router:npm i vue-router@next【@next 代表的是安装最新的版本】 2、在 src 目录下新建 router/index.js,并添加路由配置项// router/index.js import { createRouter, createWebHashHistory } from vue-router import Index from @/views/Index.vue…

[MRCTF2020]Xor

[MRCTF2020]Xor 检查无壳,32位 分析 打开main函数,发现不能F5反汇编如下报错,在分析401095位置处的指令出错 .text:00401095 call sub_401020 此处是一个call指令,我们点进 sub_401020函数f5反汇编成功打开 然后返回到main函数按F5成功反汇编 是个简单的…

解决application.yml没有小绿叶图标

1、application.ym文件没有显示

数字万用表

数字万用表使用教程 l 目录 l 胜利VC8901A型数字式万用表外部结构 l 数字万用表的使用方法 l 数字万用表高效使用技巧 l 数字万用表test档使用方法 l 数字万用表测量频率方法 l 数字万用表上的HFE档使用方法 一、 胜利VC8901A型数字式万用表外部结构一)数字万用表选择开关 万用…