| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> mysql 多表操作 -> 正文阅读 |
|
[大数据]mysql 多表操作 |
5.1?? 外键5.1.1什么是外键外键是指引用另一个表中的一列或多列,被引用的列应该具有主键约束或唯一性约束。外键用于建立和加强两个表数据之间的连接。 5.1.2为表添加外键约束Alter table 表名 add constraint FK_ID foreign key (外建字段名) EFERENCES 外表表名; 先建外建,再添加数据 删除外键约束 解除两个表之间的关联关系时,就需要删除外键约束。 Alter table 表名 drop foreign key 外建名; 5.2.1 关联关系1.多对一 2.多对多 3.一对一 5.2.2 添加数据5.2.3 删除数据5.3 连接查询5.3.1 交叉连接交叉连接返回的结果是被连接的两个表中所有数据类型的笛卡儿积,也是返回第一个表符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。 交叉连接的语法格式如下: Select * from 表1?? cross join 表2; 5.3.2 内连接内连接又称简单连接或自然连接,是一种常见的连接查询 Select 查询字段 from [inner]? join 表2? on 表1.关系字段=表2.关系字段; 5.3.3 外链接1.(left join)左连接 左连接的结果包括left join子句子中指定的左表的所有记录,以及所有满足连接条件的记录。如果左表的某条记录在右表中不存在,则在右表中显示为空。 Select 表1,字段名,表2.字段名from 表1 left join 表2 on表1.关系字段=表2.关系字段; 2.(right join)右连接????? 右连接与左连接正好相反 Select 表1,字段名,表2.字段名from 表1 right join 表2 on表1.关系字段=表2.关系字段; 5.3.4 复合条件连接查询?5.4子查询5.4.1 带in关键字查询使用in关键字进行子查询时,内层查询语句仅返回一个数据列,这个数据列中的值将供外层查询语句进行比较操作。 Select * from 表名 where 字段名1? in(select 字段名1 from 表名2 where 条件 ); 5.4.2 带EXISTS(存在) 关键字的子查询 EXISTS关键字后面的参数可以是任意一个子查询,这个子查询的作用相当于测试,它不产生任何数据,只返回TRUE??? 或FALAE,当返回值为TRUE时,外层查询才会执行。 ? 5.4.3 带any 关键字的子查询 Any 关键字表示满足其中任意一个条件,它允许创建一个表达式对子查询的返回值列表进行比价,只要满足内层子查询的任意一个比较条件,就返回一个结果作为外层查询条件。 5.4.4 带all 关键字的子查询 All 关键字与any 有点类似,只不过带all关键字的子查询返回的结果需同时满足所有内层查询条件。 5.4.5 带比较运算符的子查询 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:43:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |