T_Sql 交叉连接以及查询等等 暑假第二天

1. 交叉连接返回的是笛卡尔积

什么是笛卡尔积呢?

笛卡尔积就是 比如 表1有 12 两行 表2有 ab 两行 那么 交叉连接后返回的是 1a 1b 2a 2b 这就是交叉连接

SELECT LIST FROM TABLE1 CROSS JOIN TABLE2 可以加where筛选 或者 order by 排序

例子:

select * from 学生信息 CROSS JOIN 班级信息 order by 班级人数 //交叉连接就是笛卡尔积 关键字 CROSS JOIN 不是非要加 where

into 表名 产生新表

2.

在同一个表上进行连接叫自连接 ,就是从同一个表中筛选出我们要求的和记录 例子 自连接用的是最基本的连接

select A.班级人数,B.班级编号 FROM 班级信息 A, 班级信息 B WHERE A.班级编号<> B.班级编号

这段代码是查询出 班级信息表中 班级编号不想通过的 信息

3.联合查询 就是将多个结果合并到一个结果集中

select ......... from ..where ... UNION [ALL] select ..... from ....where ... //用UNION连接2个查询 如果 加了ALL那么重复行保留 如果没加ALL那么重复行将被删除

例子

select
A.分数,A.成绩编号 from 成绩信息 A where A.分数>85

union ALL
SELECT B.分数,33 from 成绩信息 B where B.分数> 85

合并的时候列的类型一定要相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值