首页 > 数据库 >SQL_4_多表查询

SQL_4_多表查询

时间:2022-12-13 00:45:40浏览次数:59  
标签:join 条件 查询 右表 SQL 左表 多表 连接

多表查询:从多个表中查询数据。

 


1、内连接

SQL86 语法:

select  要投影的列
from 表1,表2.....
where  连接条件

SQL99 语法:

select  要投影的列
from 左表  inner  join  右边
on 连接条件

等值连接:

  使用等号作为连接条件的连接。

非等值连接:

  不使用等号作为连接条件。

自联结:

  连接自身。

交叉连接(SQL99):

  取两个表的笛卡尔积 。

from 左表  cross join 右表

自然连接(SQL99):

  把两个表相同名字的列的值是否相等  作为连接条件。支持多个列名相等。但是若值的类型不同,会执行失败。(类似于等值连接)

from  左表  natural  join  右表

using子句:

  使用指定的列作为连接条件,它作为自然连接的限制。引用被using指定的列时,不要使用表名或者别名。

from  左表  join  右表   using(列名1,列名2...)    这里实际上是自然连接,但是natural和using不能同时出现。

2、外连接

  • 左外连接:结果集包含左表中不符合连接条件的行。
  • 右外连接:结果集包含右表中不符合连接条件的行。
  • 全外连接:结果集中包含左右表中不符合连接条件的行。

SQL99 语法:

左外连接:from 左表  left outer join 右表   on  连接条件 
右外连接:from 左表  right outer join 右表   on  连接条件 
全外连接:from 左表  full outer join 右表   on  连接条件 

3、子查询

当一个查询的结果是另一个查询的条件时,称为子查询语句。

 

标签:join,条件,查询,右表,SQL,左表,多表,连接
From: https://www.cnblogs.com/lurenjia-bky/p/16977539.html

相关文章

  • 非局域网远程访问MySQL
    使用内网穿透解决,市面上说道最多的是“花生壳”主要操作见这篇官方说明但其中提到的什么花生棒(第二、三点)完全不用管,应该算是产品推销。登录后选“新增内网映射”进入......
  • 图论-堆-并查集-2503. 矩阵查询可获得的最大分数
    2503.矩阵查询可获得的最大分数DescriptionDifficulty:困难RelatedTopics:给你一个大小为mxn的整数矩阵grid和一个大小为k的数组queries。找出一个大小......
  • MySQL的事务
    MySQL事务MySQL事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,......
  • 提高头条账号权重的几种方法?怎么查询头条权重?
    很多小伙伴在做内容账号的时候常常这些疑惑,,不知道可以做什么领域的内容,不知道从什么方面下手,今天和大家分享下怎样提高头条账号权重?如何查询头条权重?怎样提高头条账号权重?1.......
  • [java安全基础 01]SQL+反序列化
    tomcatServlet什么是servletJavaServlet是运行在Web服务器或应用服务器上的程序.它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间......
  • SQL*Loader使用
    SQL*Loader1.数据载入方法默认是常规加载,如果要使用直接路径加载,只需要将控制文件添加direct=true即可。2.控制文件写法loaddatainfile'test.dat'--指定加载的......
  • SQL*Loader Express使用
    SQL*LoaderExpressSQLLoaderExpress是Oracle12C的新特性,可以使用sqlloaderexpress把数据导入数据库中。注意事项:命令行中的表名大小写一定要和操作系统上对应的......
  • MySQL数据库操作
    基本操作mysql-uroot-p 连接数据库showdatabases 查看有什么库showtables查看有什么表use库名[进入库]desc表名......
  • 力扣182(MySQL)-查找重复的电子邮箱(简单)
    题目:编写一个SQL查询,查找 Person 表中所有重复的电子邮箱。示例: 解题思路:方法一:使用groupby按Email来分组,然后使用having选择count(id)>1的就可以得到重复的Em......
  • 尝试用微博记录 SQL Server 2012开发者训练营笔记
    花了2天时间参加微软的SQLServer2012开发者训练营,全面的学习了SQLServer2012上面的新特性,尝试使用微博做笔记。现在把它摘录到博客,在做个整理,下面是......