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

  1. 外连接

    2.1 左外连接(简单说,左表数据全显示,右不匹配的显示null)

    select * from Table1 as a left join Table2 as b on a.id = b.id

    2.2 右外连接(同上相反)

    select * from Table1 as a right join Table2 as b on a.id = b.id

2.3 全连接(当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值)

select * from Table1 as a full outer join Table2 as b on a.id = b.id

3.左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积

select * from Table1 as a cross join Table2 as b order b a.id

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-21 11:19:44

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表连接

背景 在上次的自考科目<数据库系统原理>中,已经接触到了关于数据库表连接的一些知识,最近的学习过程中又用到了关于数据库表的连接问题,趁此再跟大家一起回顾一下. 导图总结 首先用一张思维导图概括一下SQL表连接的内容: 对SQL表连接有个大概的了解之后,我们通过一个小例子进一步来学习一下.首先,我建立和两张表:如下 外连接 外连接包括左外连接.右外连接和完整外连接. 左外连接 SQL语句:select * from table1 left join table2 on table1.id=tab

sql表连接的几种方式

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

SQL语句多表连接查询语法

一.外连接 1.左连接  left join 或 left outer join SQL语句:select * from student left join score on student.Num=score.Stu_id; 2.右连接  right join 或 right outer join SQL语句:select * from student right join score on student.Num=score.Stu_id; 3.完全外连接  full join 或 full

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表连接查询

两张表: 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