mysql 各种关系代数的使用

博客介绍了数据库的基本运算,包括连接、选择、投影、除和笛卡尔积。详细说明了各运算的表示方式、数学形式和实际形式,如连接运算选取满足条件的元祖组成新关系,选择运算从指定关系中选满足条件的元祖等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

连接(JOIN)

选择运算表示为: R⋈S ,其中R和S为不同的两个关系

连接运算是选取两个指定关系中的属性满足给定条件的元祖连接在一起来组成一个新的关系

数学形式: JOIN 关系名1 AND 关系名2 WHERE 条件

实际形式: select value1,value2 from 表1 join 表2  on(where) 条件 

inner join, left join ,right join 三种

内连接,左连接,外连接

mysql> SELECT a.age, b.author FROM books a INNER JOIN books2 b ON a.age>25;#去除没有匹配的数据
mysql> SELECT a.age, b.author FROM books a RIGHT JOIN books2 b ON a.age>25;#会读取右边边数据表的全部数据
mysql> SELECT a.age, b.author FROM books a LEFT JOIN books2 b ON a.age>25; #会读取左边数据表的全部数据

选择(SELECT)

选择运算表示为:σF(R), 其中, F为条件表达式,R为指定的被运算的关系

选择运算是从指定关系中选取满足给定条件的若干元祖组成一个新的关系

选择的mysql语句是where

数学形式: SELECT 关系名 WHERE 条件

实际形式: WHERE 条件

投影(PROJECTION)

投影运算表示为:πA(R),其中, R为被运算关系,A为属性序列

投影运算是从指定的关系中选取指定的若干属性值组成一个新关系

数学形式: PROJETION 关系名 (属性1,属性2,...,属性n)

实际形式: SELECT 属性 FROM 表名 WHERE 条件

mysql> SELECT age FROM books WHERE age > 23 AND age <28;

除(DIVISION) 参考https://blog.youkuaiyun.com/qq_22627687/article/details/53789362

除运算表示为: R÷S,其中R 和 S 代表两个不同的关系,若被出关系为m元关系,除关系为n元关系,则运算结果为m-n关系,

数学形式:

实际形式:

select * from books A where not exists(select age from books8 B WHERE A.age=B.age);

 笛卡尔积

数学形式:

实际形式:select * from 表1,表2,... [where字句]    #from为迪卡尔积的sql语句

mysql> SELECT * FROM books,books9,books3 WHERE books.author NOT REGEXP '^f.*g$';

 

转载于:https://www.cnblogs.com/jiangfeilong/p/10580658.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值