SQL表连接

背景

在上次的自考科目《数据库系统原理》中,已经接触到了关于数据库表连接的一些知识,最近的学习过程中又用到了关于数据库表的连接问题,趁此再跟大家一起回顾一下。

导图总结

首先用一张思维导图概括一下SQL表连接的内容:

对SQL表连接有个大概的了解之后,我们通过一个小例子进一步来学习一下。首先,我建立和两张表:如下

外连接

外连接包括左外连接、右外连接和完整外连接。

左外连接

SQL语句:select * from table1 left join table2 on table1.id=table2.id

右外连接

SQL语句:select * from table1 right join table2 on table1.id=table2.id

完整连接

SQL语句:select * from table1 full join table2 on table1.id=table2.id

内连接

SQL语句:select table1.id,table2.score  from table1 inner join table2 on table1.id=table2.id

交叉连接

SQL语句:select *  from table1 cross join table2 on table1.id=table2.id

其实,学习就是这样,反反复复,同时通过在一次次的回顾过程中每次都会有不同的收获,一点点加深理解。

SQL表连接,布布扣,bubuko.com

时间: 2024-12-30 04:52:23

SQL表连接的相关文章

SQL表连接图解:各种连接关系图

估计很多人在学习SQL表连接的时候都会被各种类型的表连接搞得稀里糊涂的,现在好了,有了下面的图,就可以很直观的区分各种表连接了 可以通过图看下 多表查询分为 内.外连接 外连接分为左连接(left join 或left outer join).右连接(right join 或者 right outer join).和完整外部连接 (full join 或者 full outer join) 左连接(left join 或 left outer join)的结果就是left join子句中的左表的

sql表连接left join,right join,inner join三者之间的区别

sql表连接left join,right join,inner join区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 (以左表数据为基准,不足补为NULL)right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录(以右表数据为基准,不足补为NULL)inner join(等值连接) 只返回两个表中联结字段相等的行(条件on之相等的数据) 举例如下: ---------------------------------------

sql表连接的几种方式

这里有两张表TableA和TableB,分别是姓名表和年龄表,用于我们例子的测试数据 TableA id name 1 t1 2 t2 4 t4 TableB id age 1 18 2 20 3 19 在开发中我们的业务需求有时候是复杂的,多张表联合查询的时候是有多种方式的,面对不同的需求, 灵活使用不同的表连接方式,那么表连接分成哪几种呢? 表连接有几种? sql表连接分成外连接.内连接和交叉连接. 一.外连接 概述: 外连接包括三种,分别是左外连接.右外连接.全外连接. 对应的sql关键字

SQL表连接视图触发器事务存储过程

trancate 删除    公共表表达式  修改视图 表联合:union列数目没变化,可以将结果集合并,没有改变结果的结构.多个select.行数增加而已. 表连接 改变列的数目,3列和9列的表合并成12列的表称为连接 交叉连接:cross两个表的笛卡尔积.生成辅助表,用老数据优化,需要1234纯数字连续据表 creat table num15 ( num int ) insert into num15 内连接: 外连接:

SQL Server T—SQL 表连接

一  笛卡尔积 select  *  from  表1,表2 将两表的记录遍历显示 二表的横向连接 1   使用外键关系作为条件 select  *  from   表1,表2  where   表1表2的外键约束关系 select  列1,列2,  from   表1,表2  where   表1表2的外键约束关系 2  join  on select  *  from   表1  join  表2  on   表1表2的外键约束关系 select  列1,列2  from  表1  join

sql 表连接基本语法

SQL连接可以分为内连接.外连接.交叉连接. 1.内连接:内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值. 1.1 select * from Table1 as a, Table2 as b where a.id= b.id 1.2 select * from Table1 as a inner join Table2 as b on a.id = b.id 外连接 2.1 左外连接(简单说,左表数据全显示,右不匹配的显示null) select * from T

SQL表连接查询

两张表: 1 mysql> select * from student; 2 +----+------+------+ 3 | id | name | age | 4 +----+------+------+ 5 | 1 | 小王 | 16 | 6 | 2 | 小红 | 18 | 7 | 3 | 小明 | 20 | 8 | 4 | 小李 | 22 | 9 | 5 | 小强 | 17 | 10 +----+------+------+ 11 5 rows in set (0.00 sec) 1 m

SQL表连接查询(inner join、full join、left join、right join)

前提条件:假设有两个表,一个是学生表,一个是学生成绩表. 表的数据有: 一.内连接-inner jion : 最常见的连接查询可能是这样,查出学生的名字和成绩: select s.name,m.mark from student s,mark m where s.id=m.studentid 上面就是我们最常见的inner join,即内连接,把符合student.id=mark.studentid 条件的元组才选出来,也可以写成: select s.name,m.mark from stude

SQL表连接查询(inner join(join)、full join、left join、right join)

下面列出了您可以使用的 JOIN 类型,以及它们之间的差异. JOIN: 如果表中有至少一个匹配,则返回行(join=inner join) LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行 FULL JOIN: 只要其中一个表中存在匹配,就返回行 前提条件:假设有两个表,一个是学生表,一个是学生成绩表. 表的数据有: 一.内连接-inner jion : 最常见的连接查询可能是这样,查出学生的名字和成绩: sele