JavaWeb——MySQL

目录

2. 数据库设计

3. 表的关系

4. 表关系的实现

5. 多表查询

5.1 内连接

(1)隐式内连接

(2)显式内连接

​5.2 外连接

(1)左外连接 

(2)右外连接


2. 数据库设计

数据库设计就是设计建哪些表,表里有哪些字段,表与表是什么关系;

3. 表的关系

 一对一:比如每个人都有一张身份证,每张身份证都对应着唯一确定的人;

一对多(多对一):比如一个人都有多个QQ账号,多个QQ账号对应着同一个人;

多对多:比如一位老师有多个学生,一个学生有多位老师;

4. 表关系的实现

一对一:任意一张表建立外键关联另一张表的主键,并设置外键唯一

一对多(多对一):在多的那张表建立外键,关联另一张表的主键;

多对多:建立第三张表,该表至少包含两个外键,分别关联两个表的主键;

5. 多表查询

SQL语言:select  *  fom  表1 ,表2 ;

表与表之间建立关系后,可以多表查询。多表查询分为内连接和外连接;

笛卡尔积:查询结果的列数是两张表列数的和,行数是量表行数的乘积;

5.1 内连接

SQL语句:select * from 表1,表2  where  表1.列名 = 表2.列名 ;

 内连接就是查询两表相交的信息;

如查询员工表的emp,部门表的dept,条件为两表的主外键相同;

内连接又分为显示内连接,隐式内连接;

也就是将内连接得到的结果当做一个表,在此基础上再进行查询;

不过这两没有本质区别,仅仅是SQL语句上的不同;

(1)隐式内连接

SQL语句:select  表1.列名,表2.列名 from 表1,表2 where 表1.列名1 = 表2.列名2 ;

如下为查询员工表的姓名和性别,员工表的部门名称 ;

为了区别字段来自哪一个表,使用表名.字段名来区分;

又因为某些表的名字较长,为了方便,给表起别名即可;

(2)显式内连接

SQL语句:select  表1.列名,表2.列名  from 表1(inner)  join 表2  on 表1.列名=表2.列名 ;

 
5.2 外连接

外连接分为左外连接,右外连接;

(1)左外连接 

 SQL语句:select  *  from  表1  left  join  表2  on   表1.列名 = 表2.列名  ;

(2)右外连接

  SQL语句:select  *  from  表1  right  join  表2  on   表1.列名 = 表2.列名  ;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

「51媒体」政企活动媒体宣发如何做?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 政企活动媒体宣发是一个系统性的过程,需要明确…

World of Warcraft T2.5

World of Warcraft T2.5 猎人和术士套装需要的材料,好多啊,废墟和神殿打材料 猎人: 术士:

物联网安全:万物互联背景下的隐私保护与数据安全策略

在这个万物互联的时代,物联网(IoT)技术以其独特的魅力,将无数的设备、传感器和系统连接起来,构建了一个前所未有的智能世界。然而,随着物联网设备的激增和数据的爆炸式增长和流动,隐私泄露和数据…

Python | Leetcode Python题解之第188题买卖股票的最佳时机IV

题目: 题解: class Solution:def maxProfit(self, k: int, prices: List[int]) -> int:if not prices:return 0n len(prices)k min(k, n // 2)buy [0] * (k 1)sell [0] * (k 1)buy[0], sell[0] -prices[0], 0for i in range(1, k 1):buy[i] …

程序员职业发展指南,如何选择适合自己的就业方向?

随着科技的发展和数字化时代的到来,程序员是IT行业中的热门职业。尤其是近几年移动互联网的迅速发展,IT人才更是紧缺,越来越多的人加入程序员这个行列。 从事程序员工作,如何接项目呢?YesPMP是一个专注于互联网外包的平…

由监官要求下架docker hub镜像导致无法正常拉取镜像

问题:下载docker镜像超时 error pulling image configuration: download failed after attempts6: dial tcp 202.160.128.205:443: i/o timeout解决办法:配置daemon.json [rootbogon aihuidi]# cat /etc/docker/daemon.json {"registry-mirrors&qu…

AI绘图软件:设计师的创意加速器

在人工智能的浪潮中,AI绘图软件工具已成为设计师和创意工作者的得力助手,它们不仅加速了复杂绘图任务的完成,还激发了无限创意。本文将为您介绍几款AI绘图软件工具,它如何成为提升工作效率和创意灵感的关键。 1. StartAI&#xf…

深化人才服务改革,优化发展环境,推动创新与创业

在创新驱动的新时代背景下,浙江浦江县正以前所未有的力度,深化人才服务改革,优化人才发展环境。这不仅是一次对人才的深情呼唤,更是一场城市与人才的双向奔赴。在这里,人才的价值被充分认可,创新的力量得到…

企业信息化涉及哪些B端系统?本文给出15个,欢迎补充。

一、什么是企业信息化 企业信息化是指将信息技术应用于企业的各个业务领域,以提高企业的管理效率、业务流程优化和决策支持能力的过程。通过引入和应用信息技术,企业可以实现信息的高效传递和共享,提高工作效率,降低成本&#xf…

代码随想录第36天|动态规划

62. 不同路径 补充: 对二维数组的操作 dp[j][i] 表示到 j,i 有多少种路径递推公式: dp[j][i] dp[j - 1][i] dp[j][i - 1]初始化: dp[0][i] 和 dp[j][0] 都只有1种情况遍历顺序: 由于dp[j][i] 由 上和左的元素推导, 所以采用从左到右、从上到下的遍历顺序 class Solution {…

Linux Static calls机制

文章目录 前言一、简介二、Background: indirect calls, Spectre, and retpolines2.1 Indirect calls2.2 Spectre (v2)2.3 RetpolinesConsequences 2.4 Static callsHow it works 三、其他参考资料 前言 Linux内核5.10内核版本引入新特性:Static calls。 Static c…

Ubuntu20.04安装LibTorch并完成高斯溅射环境搭建

0. 简介 最近受到优刻得的使用邀请,正好解决了我在大模型和自动驾驶行业对GPU的使用需求。UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时,并附带200G的免费…

Spring Boot中实现定时任务最常用的方法 @Scheduled 注解和 TaskScheduler 接口【包含详情代码】

Spring Boot中实现定时任务最常用的方法 Scheduled 注解和 TaskScheduler 接口【包含详情代码】 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中………

并发编程理论基础——面向对象与并发编程(十一)

简述 封装共享变量、识别共享变量间的约束条件、制定并发访问策略。 封装共享变量 将共享变量(属性和方法)作为对象属性封装在内部,对所有公共方法制定并发访问策略,也就是说外界对象只能通过目标对象提供的公共方法来间接访问这些…

《梦醒蝶飞:释放Excel函数与公式的力量》6.4 TODAY函数

第四节:6.4 TODAY函数 1)TODAY函数概述 TODAY函数是Excel中一个非常有用的内置函数,它返回当前的日期。与NOW函数不同,TODAY函数仅返回日期部分,时间部分默认为午夜(0:00)。 2)函…

使用 Python 注销、重启、关闭计算机

众所周知,Python 是一种功能强大的脚本语言。在本文中,将编写一个 Python 程序本控制计算机,实现计算机的注销、重启、关闭等操作。 Python 中的 os 模块,提供了一种与操作系统交互的方式,可以使用 os.system() 函数在…

中北大学算法课动态规划问题实验:题目1 数塔问题

目录 1.实验名称2.实验目的3.实验内容4.实验过程伪代码java代码 5.实验结论及心得代码运行截图心得 实验报告 1.实验名称 动态规划问题实验:题目1 数塔问题 2.实验目的 (1)掌握动态规划法的设计思想; (2)掌握数塔问题的具体实现过程; (3)熟…

移动UI:我的界面,竟然有这么设计方式,而且个个都简洁美观。

移动应用中的个人中心页面通常包含以下内容: 1. 用户头像和昵称:展示用户的头像和昵称,用于个人身份的展示和识别。 2. 个人资料:展示用户的个人信息,如姓名、性别、生日、联系方式等。用户可以在这里查看和编辑自己…

【MySQL】(基础篇十七) —— 存储过程

存储过程 本文将介绍什么是存储过程,为什么要使用存储过程以及如何使用存储过程,并且介绍创建和使用存储过程的基本语法。 MySQL的存储过程是预编译的SQL语句集合,它们作为一个可执行单元存储在数据库中。存储过程能够封装复杂的业务逻辑&a…

轻松驾驭文件重命名:一键实现文件名更改并高效复制新文件名,让文件管理变得简单高效

在信息爆炸的时代,我们的电脑中存储着成千上万的文件,这些文件或是珍贵的回忆,或是重要的工作资料。然而,随着时间的推移,我们可能需要对这些文件进行整理和管理,其中最常见的一项操作就是文件名的重命名。…