Sql 数据库 join 连接
来源:互联网 发布:南丹县网络问政平台 编辑:程序博客网 时间:2024/05/21 17:28
sql里面有两个连接一个是union,另一个就是join
他们两个的区别:
union 连接的是行 是一行一行的连 而 join 连接的是列(字段) (他们俩的区别暂时就就知道这点)
join连接的使用的前提:
1.必须要有至少一个表(一个表可以用自连接)
2.必须要有相关联的列(字段),主键外键啥的。
join 分为 内连接(inner join)、外连接(left outer join 和 right outer join)、交叉连接(cross join)和自连接。
首先, 内连接 inner join 这个用的比较多
作用就是 当要查询的多个列在不同的表中时,为了进行跨表查询而使用的
用法:
select SName,SAge,CName from Student inner join Class on Class.classid=Student.sclassid;
这个查询里面SName和 SAge是Student表里的,CName是Class表里的 这里面是根据Class里的classid(主键)和Student表里的sclassid关联的
如果要是有等多个表,嫌总是写表名麻烦可以给各个表设个名,如下
select SName,SAge,CName from Student as S1 inner join Class as C1 on C1.classid=S1.sclassid;
然后,外连接 left outer join 和 right outer join 这个用的也比较多 主要是用在找一个表在另一个表中没有的数据
left outer join 就是左表记录都显示出来对右表能找到数据的对应匹配数据,对右表找不到的匹配记录为null
right outer join 同做很相似 就不多说了,你懂得。。
用法:
select SName,SAge,english from Student left outer join Score on Score.studentid=Student.sid where sid not in studentid
这个查询就是查询没有考试的学生。。
交叉连接 Cross join
这个吧,,应该用的不多 我也不会用呃 他得到数据就连接的两个表数据的积
自连接
这个用的也不多,所以直接写下用法就不介绍了
用法:
select * from Student inner join (select SName,SAge,SID from Student where SAge>10) as TS1 onStudent.Sid=TS1.sid
- Sql 数据库 join 连接
- 数据库——SQL中的join连接
- SQL join 连接
- SQL join 连接
- [SQL]表连接(JOIN)
- SQL 连接 JOIN 例解
- SQL 连接 JOIN 例解
- SQL join连接
- SQL中的join连接
- SQL中的join连接
- SQL join连接
- SQL Join连接
- SQL 连接 JOIN 例解
- SQL 连接(JOIN)
- 数据库 连接(JOIN)
- 【数据库】Join连接
- 数据库的join连接
- 数据库中的join连接
- 用mfc做目标跟踪界面
- sift特征
- 目标跟踪的研究现状和最新资源
- 再解为啥c里函数传入数组时必须同…
- size_t
- Sql 数据库 join 连接
- 字符串处理源码
- 常见c函数源码,字符串处理,strcp…
- Strcmp函数源码从VC库文件中提取
- _cdecl
- 创业之殇—-我真的很傻逼
- 字符串库函数
- 不定参数函数
- CUDA和OpenCV配置参考