那些纷繁的多表查询
来源:互联网 发布:灰色模型软件 编辑:程序博客网 时间:2024/05/19 23:55
在程序开发时,不可避免的要用到视图,首先我们来看看视图到底有什么作用:
简单性:看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次制定全部的条件。
安全性:通过视图用固话只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。
其他的优点暂时省略。
视图中我们用的最多的可能就是多表查询了,既然视图有这么多的优点,那么我们就来说说如何多表查询
两个表查询:
情景1
如图所示:
其中foodTypeID为第二个表的主键,那么当我们要筛选出这样的数据(foodID、foodTypeName、foodName、Price)的时候就要用到多表查询了,是这样做的:
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),是这样操作的:
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看到上面的我们是不是可以总结出这样的规律呢?
我们以五个表为例来说明一下:
首先前面的选择表头的东西就省略了,直接写表和表之间的关系:
from((((表 inner join 表 on 表.字段名 =表.字段名)innner join 表 on 表.字段名=表.字段名)inner join 表 on表.字段名=表.字段名)inner join 表 on 表.字段名=表.字段名
- 那些纷繁的多表查询
- 网络时代,纷繁复杂的时代
- 人情世故,总是那么的纷繁复杂
- 属性动画之纷繁的星星
- 纷繁的 XML Schema 技术:基于规则的语言
- 纷繁的 XML Schema 技术:基于语法的语言
- 纷繁的 XML Schema 技术:基于语法的语言 (下)
- RD自身修养 纷繁的世界,迷途的羔羊
- 名词集合:别被纷繁复杂的网络名词搞昏头
- Android之属性动画之纷繁的星星
- 查询指定的表在那些数据库中存在
- 查询指定的表在那些数据库中存在
- 查询指定的表在那些数据库中存在
- 查询指定的表在那些数据库中存在
- 查询指定的表在那些数据库中存在
- 查询指定的表在那些数据库中存在
- 查询指定的表在那些数据库中存在
- 查询指定的表在那些数据库中存在
- Android邮件发送详解
- 黑马程序员---java学习要点3
- GSPUtil
- RAW文件的读取
- 黑马程序员-java学习4
- 那些纷繁的多表查询
- 小孩报数问题
- Mongodb基础用法及查询操作
- 缩略语字符串翻译为日常用语字符串的实现
- openGL及GLSL的小知识
- 从服务器上下载excel
- ibatiS和hibernate的区别
- 从服务器上下载excel
- c/c++笔试题(3)