我是靠谱客的博主 个性香菇,最近开发中收集的这篇文章主要介绍008—多表查询(重点),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#======================================

#平台:windows7        

#MYsql版本:mysql-5.5.62-winx64(安装版)

#MYsql工具:SQLyog - 64 bit、Navicat Premium 12

工具包地址:https://pan.baidu.com/s/17SOAmwcgOw9hYtTzDb9-Tw

#======================================

多表查询中,一般不使用连接查询,因为操作效率低。

 

#多表查询语法

select  字段1,字段2... from 1,2... [where 条件]

示例1SELECT e.eid,e.ename,d.dname FROM emp e,dept d WHERE e.eid==d.did;

 

 笛卡尔乘积

如果不加条件直接进行查询得到的结果。

如:select * from person,dept

笛卡尔乘积公式 : A表中数据条数   *  B表中数据条数  笛卡尔乘积。(查询效率低)

 

 

#多表连接查询语法

SELECT 字段列表

    FROM 表1  INNER|LEFT|RIGHT JOIN  2

ON 表1.字段 2.字段;

 

 

子查询

又称嵌套查询查多次多个select

 

注意第一次的查询结果可以作为第二次的查询的 条件 或者 表名 使用.

 

子查询中可以包含:INNOT INANYALLEXISTS 和 NOT EXISTS等关键字还可以包含比较运算符:、 !=<等。

 

语法:select * from (select * from person) as 表名;

 

注意: 一条语句中可以有多个这样的子查询,在执行时,最里层括号(sql语句) 具有优先执行权.<br>注意: as 后面的表名称不能加引号('')

 

示例:select name,salary from person where salary >(select avg(salary) from person);

 

单行单列子查询;

示例:SELECT *FROM t_employee WHERE sal>(SELECT sal FROM t_employee WHERE ename='SMITH');

 

单行多列子查询(较少使用);

示例:SELECT ename,sal,job FROM t_employee WHERE (sal,job)=(SELECT sal,job FROM t_employee WHERE ename='SMITH');

 

l 多行单列子查询;

IN:SELECT *FROM t_employee WHERE deptno IN (SELECT deptno FROM t_dept);

 

ANY:

=ANY:其功能与关键字IN一样;

>ANY(>=ANY):比子查询中返回数据记录中最小的还要大于(大于等于)数据记录;

<ANY(<=ANY):比子查询中返回数据记录中最大的还要小于(小于等于)数据记录。

 

示例:SELECT ename,sal FROM t_employee WHERE sal>ANY(SELECT sal FROM t_employee WHERE job='MANAGER');

 

ALL

关键字ALL用来表示主查询的条件为满足子查询返回查询结果中所有数据记录,该关键字有两种匹配方式,分别为:

>ALL(>=ALL):比子查询中返回数据记录中最大的还要大于(大于等于)数据记录;

<ALL(<=ALL):比子查询中返回数据记录中最小的还要小于(大于等于)数据记录。

 

SELECT ename,sal FROM t_employee WHERE sal>ALL(SELECT sal FROM t_employee WHERE job='MANAGER');

 

 

EXISTS:

SELECT * FROM t_dept c WHERE EXISTS(SELECT * FROM t_employee WHERE deptno=c.deptno);

 

 

 


转载于:https://blog.51cto.com/6854290/2328424

最后

以上就是个性香菇为你收集整理的008—多表查询(重点)的全部内容,希望文章能够帮你解决008—多表查询(重点)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部