在程序开发时,不可避免的要用到视图,首先我们来看看视图到底有什么作用:
简单性:看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次制定全部的条件。
安全性:通过视图用固话只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。
其他的优点暂时省略。
视图中我们用的最多的可能就是多表查询了,既然视图有这么多的优点,那么我们就来说说如何多表查询
两个表查询:
情景1
如图所示:
其中foodTypeID为第二个表的主键,那么当我们要筛选出这样的数据(foodID、foodTypeName、foodName、Price)的时候就要用到多表查询了,是这样做的:
[sql] view plaincopy
select FoodInfo.foodID, FoodTypeInfo.foodTypeName ,
FoodInfo.foodName ,FoodInfo.price
from FoodInfo inner join FoodTypeInfo
on FoodInfo.foodTypeID =FoodTypeInfo .foodTypeID
情景2
如图所示:
大家可以看到第一张表和上面的相比增加了两个字段,其中我们要用到的就有ManagerID,第二张表还是原来那张表,增加的第三张表中我们也用到ManagerID,最后查询的结果想要看到的是(foodID、foodTypeName、foodName、Price,ManagerID),是这样操作的:
[sql] view plaincopy
<pre name="code" class="sql">select FoodInfo.foodID, FoodTypeInfo.foodTypeName ,
FoodInfo.foodName ,FoodInfo.price,
managerInfo.ManagerID
from (FoodInfo inner join FoodTypeInfo
on FoodInfo.foodTypeID =FoodTypeInfo .foodTypeID )
inner join managerInfo on managerInfo.ManagerID =FoodInfo .ManagerID
看到上面的我们是不是可以总结出这样的规律呢?
我们以五个表为例来说明一下:
首先前面的选择表头的东西就省略了,直接写表和表之间的关系:
[sql] view plaincopy
from((((表 inner join 表 on 表.字段名 =表.字段名)
innner join 表 on 表.字段名=表.字段名)
inner join 表 on表.字段名=表.字段名)
inner join 表 on 表.字段名=表.字段名
分享到:
相关推荐
单击此处添加标题 * * * * * * * * * * * * 目录页 MYSQL联合查询上 联合查询注入原理-SQL的union查询 SQL中UNION 操作符用于合并两个或多个 SELECT 语句的结果集。UNION 内部的 SELECT 语句必须拥有相同数量的列。...
MySql,多表联合查询加AS语句,多余的就不说了,自己看,绝对简单!
单击此处添加标题 * * * * * * * * * * 目录页 MYSQL联合查询下 联合查询注入原理-判断数据输出位置 SELECT 语句的特殊用法: 当SELECT关键字后跟随的字段名为数字时,结果集也将是对应的数字,如: 联合查询注入...
MySQL 联合查询案例,需要搭配博主【MySQL】联合查询这篇文章使用,用于初始化数据,搭配文章学习可以充分学会联合查询,建议先学习博主 MySQL 专栏前部分的基础知识,联合查询是在有一定基础后进行学习的,里面的...
实例讲解MYSQL联合查询,帮助你更好的掌握MYSQL联合查询。
用于oracle,mysql,sqlserver,数据库分页联合查询
本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 ...
因此,常常出现这样的错误 代码如下:select * from [IND] where INDID>10unionselect * from [IND] where INDID<9>10 order by INDID descunionselect * from [IND] where INDID<9 order by INDID desc此时就出现...
mysql多表查询和EXISTS查询性能对比
本文详细介绍了Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例子,需要的朋友可以参考下
主要介绍了MySQL联合索引用法,结合实例形式分析了MySQL联合索引的具体定义与使用方法,需要的朋友可以参考下
mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...
mysql多表联合查询 表连接的约束条件 MySQL如何优化LEFT JOIN和RIGHT JOIN
本文实例讲述了mysql连接查询、联合查询、子查询原理与用法。分享给大家供大家参考,具体如下: 本文内容: 连接查询 联合查询 子查询 from子查询 where子查询 exists子查询 首发日期:2018-04-11 连接查询...
mysql多表联合查询.pdf
多表联合查询,一个简单的实例。适合初学者参考!
MySQL三种关联查询的方式_ ON vs USING vs 传统风格
mysql多表查询,联合查询
MySQL 表子查询 表子查询是指子查询返回的结果集是 N 行 N 列的一个表数据。 MySQL 表子查询实例 下面是用于例子的两张原始数据表: article 表: blog 表: SQL 如下: SELECT * FROM article WHERE (title,...