SQL——联结表
来源:互联网 发布:翻唱网络歌手怎么赚钱 编辑:程序博客网 时间:2024/05/17 06:43
在做牛腩新闻发布系统的时候,联结表用到的很频繁,其实在做机房收费系统时
很多查询语句就用到了在数据查询的执行中联结表(主要是因为涉及数据库时用到的三范式)
。觉得很是新奇,因为之前没有接触过,第一次机房的时候,数据库设计的很是啰嗦,所以也涉及不到联结表(因为
大多数的查询功能在一张表中就能完成了)
下面以例子形式介绍一下在数据查询的执行中联结表——这也是SQL最强大的功能之一
如果所需数据存储在多个表中,怎么用单条Select语句检索出数据?
答:使用联结!!联结是一种机制,使用特殊语法,用一条Select语句可以联结多个表,返回一组输出。
Vendors表(供应商信息表)
字段名称
说明
Vend_id
供应商ID
Vend_name
供应商名称
Products表(产品信息表)
字段
说明
Vend_id
供应商ID
Prod_id
产品ID
Prod_name
产品名称
Prod_Price
产品价格
OrderItems表(订单信息表)
字段名称
说明
Prod_id
产品ID
order_num
订单编号
quantity
订购数量
Vendors表:存储供应商信息(供应商ID—vend_id为主键)
Products表:存储产品信息——除了存储供应商ID(产品ID—prod_id为主键)外不存储其他任何供应商的信息
OderItems表:存储订单信息(订单编号—order_num为主键)
1,联结的创建很简单,规定要联结的表及联结条件(Where子句作为过滤条件)即可。
例子:从Vendors、Products表中查询供应商名称、产品名称、产品价格:
SELECT vend_name,prod_name,prod_price,FROM Vendors,Products
WHERE Vendors.vend_id=Products.vend_id;
2,内部联结
目前为止所用的联结称为等值联结,它基于两个表之间的相等测试(也成为内部联结。)
同上例:从Vendors、Products表中查询供应商名称、产品名称、产品价格:
SELECT vend_name,prod_name,prod_price FROMVendorsINNER JOINProductsON Vendors.vend_id=Products.Vend_id;
注:此Select语句与上例中的相同,但FROM子句不同。此处,两个表之间的关系是FROM
子句的组成部分,以INNER JOIN指定,并且联结条件用特定的ON子句而不是WEHER子句给出。但是:传递给ON的实际条件与传递给WHERE子句的相同。
3,联结多个表
(1)一条SELECT语句中可以联结的表的数目没有限制;
(2)创建联结的基本规则相同——先列出所有要联结的表,然后设置表之间的关系(即查询条件)
例子:
从订单表(OrderItems)、产品信息表(Products)、供应商信息表(Vendors)中查询订单编号为0001的产品名称、供应商名称、产品价格、订购数量
SELECT prod_name,vend_name,prod_price,quantity FROMOrderItems,Products,VendorsWHERE Products.vend_id=Vendors.vend_id AND OrderItems.prod_id=Products.prod_idANDorder_num=0001
学习总结:学习是不断熟悉起来的一个过程!!
- SQL——联结表
- SQL必知必会(8)——联结表
- SQl 表的联结
- SQL-联结表
- 联结(以列为单位对表进行联结)——内联结(INNER JOIN)
- [My SQL] 使用联结表
- SQL学习之--联结表
- SQL必知必会(三) 联结表、创建高级联结、组合查询
- Oracle SQL高级编程——位图联结索引
- MySQL数据库——联结表
- SQL必知必会 笔记 第十二章 联结表
- SQL读书笔记(八) 联结表
- 读书笔记--SQL必知必会12--联结表
- 联结表
- SQL---DML---联结表の自联结,NATURAL JOIN,LEFT OUTER JOIN,RIGHT OUTER JOIN
- sql中的联结查询
- SQL联结查询(一)
- SQL---DML---联结表のCROSS JOIN和INNER JOIN
- System V IPC
- 重学C++ 带this指针的串联式成员函数调用
- Rabin-Miller算法的设计与实现
- Shape of HDU+向量积判断角度范围
- Servlet 工作原理解析
- SQL——联结表
- android图片添加文字保存到指定文件夹
- hdu 2578——Dating with girls(1)
- 一个类继承多个接口的简单例子
- 汉诺塔与递归算法
- 虚函数表机制
- 多态和接口的几个概念总结
- spring入门(3)--spring加载配置web
- 在apache上部署flask框架程序