关于数据库中内连接与外连接的区别

inner join  on :对于左表的每一条记录和右表作乘积,如果满足on条件则加入结果集,最终的记录数>=0
left    join  on :对于左表的每一条记录和右表作乘积,如果不存在满足on条件的记录,则添加一条记录(需要返回的右表列以null表示),最终的记录数>=左表的记录数
right  join on : 对于右表的每一条记录和左表作乘积,如果不存在满足on条件的记录,则添加一条记录(需要返回的左表列以null表示),最终的记录数>=右表的记录数

时间: 2024-08-01 21:14:35

关于数据库中内连接与外连接的区别的相关文章

SQL Server中内连接和外连接的区别

假设一个数据库中有两张表,一张是学生表StudentInfo,一张是班级表ClassInfo,两张表之间用ClassId字段进行关联. 如果用内连接,正常的写法是这样的: Select StudentInfo.*,ClassInfo.* from StudentInfo join ClassInfo on StudentInfo.ClassId=ClassInfo.ClassId 用这种写法不会出现笛卡尔积,但是内连接是允许省略连接条件的,也就是可以省略掉on后面的内容,所以如果写成这样: Se

4.mysql数据库创建,表创建模等模板脚本,mysql_SQL99标准的连接查询(内连接,外连接,满外连接,交叉连接)

 mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,执行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- 选择数据库 use mydb61; -- 增加 dbuser1 用户 --     创建用户'dbuser61'密码为 'dbuser61'拥有操作数据库mydb61的所有权限 GRANT ALL ON mydb61.* TO dbuser61 IDENTIFIED BY "dbuser61&quo

Mysql中的关联查询(内连接,外连接,自连接)

Mysql中的关联查询(内连接,外连接,自连接) 在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,总结一下mysql中的多表关联查询 一,内连接查询 是指所有查询出的结果都是能够在连接的表中有对应记录的. 以t_employee(员工表)和t_dept(部门表)为例: t_employee表中的记录如下:dept代表该员工所在的部门 t_dept表中记录如下: 可以发现,其中人力资源部里没有员工(这里只是举例,可能与实际不符

数据库(join) 内连接、外连接、笛卡尔积

今天,重刷了刷leetcode数据库的题目,对数据库连接查询做一个记录. 数据库(join) 内连接.外连接.笛卡尔积 内连接(自身连接) 内连接有隐式内连接和显示内连接两种: 隐式(无join),from后跟多个表名,生成的中间临时表是全部笛卡尔积.最后用where条件筛选 例如: select A.Name from Employee as A, Employee as B where A.ManagerId=B.Id and A.Salary>B.Salary 显示(有join),中间临时

SQL中的连接可以分为内连接,外连接,以及交叉连接 。

1. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积: 举例,下列A.B.C 执行结果相同,但是效率不一样: A:SELECT * FROM table1 CROSS JOIN table2 B:SELECT * FROM table1,table2 C:select * from table1 a inner join table2 b A:select a.*,b.* from table1 a,table2

【转】SQL中内连接和外连接

如表     -------------------------------------------------     table1 | table2 |     -------------------------------------------------     id name |id score |     1 lee |1 90 |     2 zhang |2 100 |     4 wang |3 70 |     -------------------------------

数据库面试系列之一:内连接和外连接

内连接是返回关系表中既满足查询条件又满足连接条件的元组 外连接是返回关系表中满足查询条件的但不一定满足连接条件的元组 外连接分为:左外连接,右外连接,全外连接 左外连接是返回左表中满足查询条件但不一定满足连接条件的元组 右外连接是返回右表中满足查询条件但不一定满足连接条件的元组 全外连接是返回左表中满足查询条件和右边中满足查询条件的元组 下面是两个基本表:s表和sc表        内连接返回的结果如下: 左连接返回的结果如下: 右连接返回的结果如下: 全外连接返回的结果如下:

【SQL】SQL中笛卡尔积、内连接、外连接的数据演示

SQL的查询语句中,常使用到内连接.外连接,以及连接的基础--笛卡尔积运算. 在简单的SQL中,也许我们还分辨清楚数据如何连接,一旦查询复杂了,脑子也犯浆糊了,迷迷糊糊的. 本文,简单以数据形式记录连接的数据结果,在迷糊时可翻阅. 以MySQL运行. > 原始的表 select * from t_user u; select * from t_address a; select * from t_phone p; > 笛卡尔积 select * from t_user, t_address;

SQL中内连接和外连接

如表     -------------------------------------------------     table1 | table2 |     -------------------------------------------------     id name |id score |     1 lee |1 90 |     2 zhang |2 100 |     4 wang |3 70 |     -------------------------------

oracle中的内连接和外连接区别

表t_user1,t_user2,t_user3,各有id,name两列 id name 1 10A 2 20A id name 1 10B 3 30B id name 1 10C 4 40C 连接分为两种:内连接与外连接. A.内连接 内连接,即最常见的等值连接,例: SELECT *  FROM t_user1,t_user2 WHERE t_user1.id = t_user2.id 结果 id name id name 1 10A 1 10B B.外连接 外连接分为左外连接,右外连接和全