一、多表查询

1.连接查询:

连接查询是将两个或两个以上的表按照某个条件连接起来,从中选取需要的数据;

t_book表: t_bookType表:

如:

SELECT * from t_book,t_booktype;

返回结果将两个表的所有组合结果返回

1、内连接查询:

内连接查询是一种最常用的连接查询。内连接查询可以查询两个或者两个以上的表;

SELECT * from t_book b,t_booktype t where t.id=b.id;

SELECT * from t_book,t_booktype where t_book.id=t_booktype.id;

查询结果:

也可这么写来查询需要的字段:

select bookName,author,bookTypeName
from t_book,t_booktype where t_book.id=t_booktype.id;

注意:如果查询的字段(如id)中两个表都有时这种写法会出错(或报ambiguous错误),因为无法得知id是哪个表的字段,所以平时多表查询时要写别名

修改为:

select tb.bookName,tb.author,tby.id
from t_book tb,t_booktype tby
where tb.id=tby.id;

2、外连接查询

外连接可以查出某一张表的所有信息;
SELECT 属性名列表
FROM 表名 1
LEFT|RIGHT JOIN 表名 2
ON 表名 1.属性名 1=表名 2.属性名 2;

  • 左连接查询:

可以查询出“表名 1”的所有记录,而“表名 2”中,只能查询出匹配的记录;如:

select *
from t_book tb
left JOIN t_booktype tby
on tb.bookTypeId=tby.id;

查询结果:

  • 右连接查询:

    可以查询出“表名 2”的所有记录,而“表名 1”中,只能查询出匹配的记录;如:

 select * from t_book tb right JOIN t_booktype tby on tb.bookTypeId=tby.id;

查询结果:

  • 多条件连接查询

即where后面有多个条件and连接查询

2.子查询

1 、带 In 关键字的子查询

一个查询语句的条件可能落在另一个 SELECT 语句的查询结果中。

2 、带比较运算符的子查询

子查询可以使用比较运算符。

3 、带 (not)Exists 关键字的子查询

假如子查询查询到记录,则进行外层查询,否则,不执行外层查询;not exists表示内层没有内容时才查询外层

如:

SELECT * from t_book where EXISTS(select * from t_booktype);

表示t_booktype中返回的有内容时才执行外层t_book的查询

4 、带 Any 关键字的子查询

ANY 关键字表示满足其中任一条件;如:

SELECT * FROM t_book WHERE price>= ANY (SELECT price FROM t_pricelevel);

表示筛选价格大于任意t_pricelevel表中选出的价格的结果,即比最小的大的价格就满足条件

5 、带 All 关键字的子查询

ALL 关键字表示满足所有条件;如:

SELECT * FROM t_book WHERE price>= ALL (SELECT price FROM t_pricelevel);

表示筛选价格大于所有t_pricelevel表中选出的价格的结果,即比最大的价格大的才满足条件

3.合并查询

UNION
使用 UNION 关键字是,数据库系统会将所有的查询结果合并到一起,然后去除掉相同的记录;

UNION ALL
使用 UNION ALL,不会去除掉系统的记录;

常用SQL命令汇总--多表查询相关推荐

  1. kingbase人大金仓常用sql命令(自用总结)

    kingbase人大金仓常用sql命令(自用总结) 开发过程中使用到的 平时用mysql数据库,第一次用人大金仓数据库,有一些地方还是有区别,记录一下. –修改字段数据类型 –ALTER TABLE ...

  2. GBase 8s 常用管理员命令汇总-gstat(下)

    GBase 8s 常用管理员命令汇总-gstat(下) gstat 打印运行时间统计信息 语法 gstat -g cpu 操作演示 [gbasedbt@devsvr ~]$ gstat -g cpu ...

  3. oracle中sql命令分为几类,常用sql命令@oracle数据类型概括@权限、角色、用户的创建于使用@伪列及其注意事项-Oracle...

    常用sql命令@oracle数据类型概括@权限.角色.用户的创建于使用@伪列及其注意事项 1.各种不同权限的用户 系统权限: 用户名:sys/system(用户名默认的是 sys,system);密码 ...

  4. oracle维护常用SQL语句(查看系统表和视图)

    转:http://www.360doc.com/content/11/1230/15/7489308_176090474.shtml oracle维护常用SQL语句(查看系统表和视图) 1.查看表空间 ...

  5. 常用LINUX命令汇总

    常用LINUX命令汇总 一.基本命令 bash Bash(GNU Bourne-Again Shell)是许多Linux平台的内定Shell pwd 查看当前所在目录 ls 查看目录内所有文件 cd ...

  6. linux运维工程师命令,Linux运维工程师的常用Linux命令汇总

    今天小编要跟大家分享的文章是关于Linux运维工程师的常用Linux命令汇总.作为运维人员,这些常用命令不得不会,掌握这些命令,工作上会事半功倍,提供工作效率.下面来和小编一起看一看吧! 一.文件和目 ...

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

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

  8. GBase 8s 常用管理员命令汇总-gadmin

    GBase 8s 常用管理员命令汇总-gadmin gadmin 命令 说明 gadmin -m 将数据库服务器从静态模式或单用户模式,切换为在线模式 gadmin -k 完全关闭数据库 gadmin ...

  9. xshell删除文件夹命令_ssh远程连接GPU服务器进行深度学习以及常用ssh命令汇总

    在我们进行深度学习的科研任务时,我们都会遇到复杂神经网络的训练问题,这时我们都不可避免地需要一块合适的gpu服务器,我认为gpu服务器的好处有两点:一是相对而言便宜一些,虽然很多gpu服务器也是昂贵的 ...

最新文章

  1. 我在硅谷工作的第四年:技术是怎么把信息变现的
  2. ubuntu 安装OpenBLAS
  3. 《Go语言圣经》学习笔记 第六章 方法
  4. 单元测试的一些基本概念
  5. 驾驭系统 做一个Windows XP的“***”(图)3
  6. python垃圾分类准确率计算公式_准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure...
  7. 使用Adobe acrobat压缩pdf大小
  8. checking for tgetent()... configure: error: NOT FOUND!
  9. 查询英语单词 - 有道官方(一)
  10. ASP.NET伪静态
  11. JAVA--set用法
  12. CocosCreator之KUOKUO带你做刚体移动与物品拾取到背包
  13. wps云盘和zotero的结合(一)
  14. python按照日期筛选excel_【Python代替Excel】6:按条件筛选
  15. 【Python爬虫学习实践】多线程爬取Bing每日壁纸
  16. ajax excel导出问题,AJAX导出excel问题
  17. Docker 安装和使用日常命令全覆盖
  18. 写了十几年代码,我为什么还没有被拿去“祭天”?
  19. 海量数据判断某个数据是否存在
  20. linux命令--ln软连接,硬链接

热门文章

  1. 一款桌面英语翻译软件介绍
  2. Edge Detector ----------Marr Hildreth 算法
  3. 进程内服务器,进程外服务器,远程服务器
  4. 电动助力转向系统国内外研究现状
  5. 【算法】基于hoare快速排序的三种思想和非递归,基准值选取优化【快速排序的深度剖析-超级详细的注释和解释】你真的完全学会快速排序了吗?
  6. VS创建Qt工程,INK : fatal error LNK1181: 无法打开输入文件“xx.lib”
  7. Linux_Shell Shell编程简介
  8. Mysql:insert date:SQL 错误 [1292] [22001]: Data truncation: Incorrect date value:
  9. 荣耀笔记本打开TPM,升级win11
  10. 青云科技发布业绩预告净利亏损,天风证券研报:存在核心技术风险