多表查询分为 内、外连接

外连接分为左连接(left join 或left outer join)、右连接(right join 或者 right outer join)、和完整外部连接 (full join 或者 full outer join)

左连接(left join 或 left outer join)的结果就是left join子句中的左表的所有行,而不仅仅是链接列所匹配的行,如果左表中的某行在右表中没有匹配,则在相关联的结果行中右表的所有选择列均为空值(NULL)

SQL语法 select * from table1 left join table2 on table1.条件列名 = table2.条件列名;

注释: 显示的就是table1中的所有列和能匹配的列

右连接(right join 或 right outer join )在这里不做多说这左连接很象但是是相反的,只说一下语法

select *from table1 right join table2 on table1. 条件列= table2.条件列

完全外部连接(full join 或 full outer join)

显示左右表中的所有行,当某一个表中没有匹配的行时,则另一个表的选择列表列包含空值(NULL)如果有则显示全部数据

SQL语法:

select *from table1 full join table2 on table1.条件列名= table2.条件列名

内连接:
概念:内连接就是用比较运算符比较要用连接列的值的连接

内连接(join 或者inner join )

SQL语法:

select *fron table1 join table2 on table1.条件列名 = table2.条件列名

返回符合匹配条件的两表列

等价于:

select A* ,B* from table1 A ,table2 B where A.条件列名 =B.条件列名

select *form table1 cross join table2 where table1.条件列名 = table2.条件列名(注: Cross join 后面不能跟on 只能用where)

交叉连接(完全)

概念:没有用where子句的交叉连接将产生连接所涉及的笛卡尔积第一个表的行数乘以第二个表的行数等于笛卡尔积和结果集的大小

交叉连接: Cross join(不带条件where,如果带返回或显示的是匹配的行数)

SQL语法:

select *from table1 cross join table2

如果有条件(where)

select * from table1 cross join table2 where table1. 条件列名= table2.条件列名

等价于

select *from table1,table2 (不带where)

转载于:https://www.cnblogs.com/LangZiXiYan/p/6953435.html

SQL数据库的多表查询相关推荐

  1. SQL sever数据库的单表查询和连接查询

    数据库的单表查询和连接查询 一.目的: 掌握无条件查询的使用方法. 掌握条件查询的使用方法. 掌握库函数及汇总查询的使用方法. 掌握分组查询的使用方法. 掌握查询的排序方法. 掌握连接查询的使用方法. ...

  2. Oracle数据库之多表查询

    oracle安装参照: Oracle数据库之安装教程 Oracle数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...

  3. SQL 语句的多表查询方式

    SQL 语句的多表查询方式 例如:按照 department_id 查询 employees(员工表)和 departments(部门表) 的信息. 方式一(通用型): SELECT ... FROM ...

  4. MySQL数据库应用 多表查询_mysql数据库-多表查询

    今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MYSQL中的表关系分析并能正确建表 昨天内容回顾: ​ 数据库的创建 : create ...

  5. 7.数据库-查-单表查询

    7 .数据库-查-单表查询 因为查询有很多分支 所以分 单表查询 和 多表查询: 简单查询 1.1 SELECT语句 在MySQl中查询语句 最基本就是SELECT语句了,可以用不用的条件来查询表中的 ...

  6. mysql数据库实验3查询_MySQL数据库实验:任务三 数据库的单表查询设计

    任务三 数据库的单表查询设计 文章目录任务三 数据库的单表查询设计[实训目的与要求][实训原理][实训步骤]一.简单查询二.按条件查询1.比较大小查询2.带in关键字的查询(确定集合)3.带BETWE ...

  7. mysql关键字使用顺序_MySQL数据库之单表查询中关键字的执行顺序

    MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...

  8. 数据库实验3 数据库的单表查询

    数据库的单表查询 3.1实验目的及要求 掌握简单表的数据查询.数据排序和表链接查询的操作方法 3.2实验内容 简单查询操作和连接查询方式. 3.3实验步骤 3.3.1单表查询: 1.查询全体学生的学号 ...

  9. MySQL数据库实验:任务三 数据库的单表查询设计

    任务三 数据库的单表查询设计 文章目录 任务三 数据库的单表查询设计 [实训目的与要求] [实训原理] [实训步骤] 一.简单查询 二.按条件查询 1.比较大小查询 2.带in关键字的查询(确定集合) ...

  10. mysql数据库查询关键字级别_MySQL数据库之单表查询中关键字的执行顺序

    MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...

最新文章

  1. Spring核心之对 IOC的理解
  2. IIS网站打不开错误解决方案集锦(一):编译器错误消息: 编译器失败,错误代码为 -1073741502。...
  3. Spring 配置解析之Properties
  4. 如果征信有这些行为,申请房贷直接被拒绝
  5. vs+opencv编译出现内存问题
  6. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(修改配置文件_06)
  7. Java虚拟机栈介绍
  8. javaweb网上购物系统,jsp网页线上购物,mysql(源码+报告)
  9. 程序员高效出书避坑和实践指南
  10. c语言中NULL到底是什么?
  11. 宝塔 php守护 1.2,宝塔面板的Supervisor (进程管理利器) 使用说明 – 附Nginx守护教程...
  12. vdi linux桌面,ubuntu VDI ( Ulteo Open Virtual Desktop
  13. python下的xml创建以及追加信息,删除信息方法
  14. 【开发日志-已归档】2020-09
  15. Spring AOP @Aspect没反应的处理
  16. 如何将Oracle11g卸载干净
  17. C# 有符号整数 无符号整数
  18. 计算机夯实基础学习顺序
  19. 运行patsy 时报错 assert pytype not in (tokenize.NL, tokenize.NEWLINE)
  20. matlab 给矩阵加一行或加一列

热门文章

  1. 信贷违约风险评估模型(中篇):特征工程
  2. Linux系统(八)系统信息、其它命令、打包压缩、软件安装
  3. python2项目出现的错误(UnicodeDecodeError)
  4. Linux服务器安全之 fail2ban的安装与配置
  5. @NOIP2018 - D1T1@ 铺设道路
  6. nyoj-78-圈水池(Graham算法求凸包)
  7. 使用NEWSEQUENTIALID解决GUID聚集索引问题
  8. 初学者易上手的SSH-hibernate01环境搭建
  9. bzoj1036 [ZJOI2008]树的统计Count 树链剖分模板题
  10. Moss、SharePoint数据库迁移问题