• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 如何使用mysql语句创建联结

如何使用mysql语句创建联结

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了联结,创建联结等相关知识,希望本文的分享对您有所帮助
为什么要使用联结

正如所述,分解数据为多个表能更有效地存储,更方便地处理,并且具有更大的可伸缩性。但这些好处是有代价的。

如果数据存储在多个表中,怎样用单条 SELECT 语句检索出数据?

答案是使用联结。简单地说,联结是一种机制,用来在一条 SELECT语句中关联表,因此称之为联结。使用特殊的语法,可以联结多个表返回一组输出,联结在运行时关联表中正确的行。

维护引用完整性 重要的是,要理解联结不是物理实体。换句话说,它在实际的数据库表中不存在。联结由MySQL根据需要建立,它存在于查询的执行当中。

在使用关系表时,仅在关系列中插入合法的数据非常重要。回到这里的例子,如果在 products 表中插入拥有非法供应商ID(即没有在 vendors 表中出现)的供应商生产的产品,则这些产品是不可访问的,因为它们没有关联到某个供应商。

为防止这种情况发生,可指示MySQL只允许在 products 表的供应商ID列中出现合法值(即出现在 vendors 表中的供应商)。

这就是维护引用完整性,它是通过在表的定义中指定主键和外键来实现的。


创建联结

联结的创建非常简单,规定要联结的所有表以及它们如何关联即可。请看下面的例子:

输入:

select vend_name,prod_name,prod_price from vendors,products where vendors.vend_id= products.vend_id order by vend_name,prod_name;

输出:

QQ截图20170510105032.png

QQ截图20170510105038.png

分析:我们来考察一下此代码。 SELECT 语句与前面所有语句一样指定要检索的列。这里,最大的差别是所指定的两个列( prod_name和 prod_price )在一个表中,而另一个列( vend_name )在另一个表中。

现在来看 FROM 子句。与以前的 SELECT 语句不一样,这条语句的 FROM子 句列出了两个表,分别是 vendors 和 products 。它们就是这条 SELECT语句联结的两个表的名字。这两个表用 WHERE 子句正确联结, WHERE 子句指示MySQL匹配 vendors 表中的 vend_id 和 products 表中的 vend_id 。

可 以 看 到 要 匹 配 的 两 个 列 以 vendors.vend_id 和 products.vend_id 指定。这里需要这种完全限定列名,因为如果只给出 vend_id ,则MySQL不知道指的是哪一个(它们有两个,每个表中一个)。

完全限定列名 在引用的列可能出现二义性时,必须使用完全限定列名(用一个点分隔的表名和列名)。如果引用一个没有用表名限制的具有二义性的列名,MySQL将返回错误。

【相关推荐】

1.什么是mysql子查询?如何利用子查询进行过滤?

2.mysql创建计算字段使用子查询

3.mysql中什么是联结和关系表?

4.MySQL中WHERE子句重要性和如何联结多个表

以上就是如何使用mysql语句创建联结的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL视图的作用详解(一)-简化复杂联结、格式化检索出的数据
  • mysql使用带聚集函数的联结
  • mysql高级联结-自然联结、外部联结使用实例
  • mysql高级联结-自联结使用实例
  • mysql高级联结-使用表别名和使用联结条件
  • mysql中联结和关系表简介
  • 如何使用mysql语句创建联结
  • MySQL中如何用WHERE子句联结多个表

相关文章

  • 2018-12-05MSSQL 将截断字符串或二进制数据问题的解决方法
  • 2018-12-05 MySQL进阶(一)主外键讲解
  • 2018-12-05Oracle数据库中出现ora-12899错误怎么办
  • 2018-12-05MySQL InnoDB四个事务级别与脏读、不重复读、幻读是什么
  • 2018-12-05Oracle case when用法
  • 2017-05-11win2003服务器下配置 MySQL 群集(Cluster)的方法
  • 2017-05-11mysqldump数据库备份参数详解
  • 2017-05-11与MSSQL对比学习MYSQL的心得(五)--运算符
  • 2017-05-11MySQL递归查询树状表的子节点、父节点具体实现
  • 2018-12-05根据表名和索引获取需要的列名的存储过程

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 关于mysql_info()函数的10篇文章推荐
    • mysql中limit的用法深入分析
    • MySQL 事务
    • MySQL行级锁、表级锁、页级锁详细介绍
    • 解析秒杀抢购思路以及高并发下数据安全
    • SQL2000个人版 应用程序正常初始化失败0乘以C0000135失败
    • Access数据库的存储空间最大是多少
    • 解析mysql中insert的操作
    • 如何使用delphi将Clientdataset的Delta保存到数据库中
    • Centos 6.3将Mysql 5.1.61升级为mysql 5.6.19遇到的问题及解决方式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有