2 cqtrq cqtrq 于 2015.07.14 21:14 提问

关于数据表之间的关系

对于多表查询的情况,数据库里定义了关系,在应用程序写sql语句时还需要描述表之间的关系吗?两者是否可以只选其一?

8个回答

guwei4037
guwei4037   Ds   Rxr 2015.07.14 21:29
已采纳

多表关联一般通过inner join、left join、cross join、自连接 等等几种连接方式进行关联。

具体的你看一下这个教程就知道了。http://www.w3school.com.cn/sql/sql_join.asp

guwei4037
guwei4037 回复cqtrq: 确实是这样,所以sql中推荐使用隐式的内联接。inner join是显式的内联接。
大约 3 年之前 回复
cqtrq
cqtrq 从你提供的这个教程看,使用inner join语句和不使用inner join语句的结果是一样的。
大约 3 年之前 回复
guwei4037
guwei4037 回复cqtrq: inner join就是通过主外键进行关联的。
大约 3 年之前 回复
cqtrq
cqtrq sql语句的多表关联,其中inner jion和数据库里定义的主键外键关系是否一回事?
大约 3 年之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2015.07.14 21:24

数据库定义是数据库定义,写SQL的时候关联关系 还是需要在SQL中体现出来的
http://blog.csdn.net/prince_li_/article/details/7703750

oyljerry
oyljerry   Ds   Rxr 2015.07.14 21:24

sql多表关联查询就是用join,把多个表联合起来查询得到合并的结果。

strutce
strutce   Ds   Rxr 2015.07.14 21:35

sql语句要指定关联关系的条件出来才行

Evankaka
Evankaka   Ds   Rxr 2015.07.14 21:53

多表查询肯定是要自己来写关联语句。可以用子查询也可以用join

Evankaka
Evankaka 外键是外键,这个当然是为了查询和删除的时候用的。外键可以拿来当查询相等的条件!
大约 3 年之前 回复
cqtrq
cqtrq 那数据库里是否就没必要定义外键关系了?感觉这两个是重复的
大约 3 年之前 回复
Alvin930403
Alvin930403   2015.07.14 22:03

使用关联效率比较高。使用子查询比较难以理解。。。。

u012401478
u012401478   2015.07.15 08:39

直接简单多表连接,select * from table1,ttable2 where table1.字段=table2.字段

u013829202
u013829202   Rxr 2015.07.15 09:54

数据库是数据库,程序是程序。 你数据库不建立关系,程序建立关系也行。 还是要已程序为主的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
数据库中的数据表之间的关系
主键:能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键。一个主键是唯一识别一个表的每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表中的数据进行关联,在这一点上,主键是不同表中各记录间的简单指针,主键约整就是确定表中的每一条记录,主键不能是空值,唯一约束是用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值,所以,主键的值对用户而言是没有什么意义,并且
数据库设计 表和表之间的三种关系
表与表之间一般存在三种关系,即一对一,一对多,多对多关系。  下面分别就三种关系讲解数据库相关设计的思路和思考过程; (1)一对一关系  例如,下面的一张表,保存了人的相关信息,有男有女,要求查处所有的夫妻。  sql代码: CREATE TABLE IF NOT EXISTS person( id INT PRIMARY KEY AUTO_INCREMENT, sn
数据库表之间的关系-关系图
通过实例学会数据库表之间的相互关系,并用图形的方式展现出来,简单易懂,非常适合初学者。
数据库设计(表与表之间的3种关系)
表与表之间一般存在三种关系,即一对一,一对多,多对多关系。 下面分别就三种关系讲解数据库相关设计的思路和思考过程;(1)一对一关系 例如,下面的一张表,保存了人的相关信息,有男有女,要求查处所有的夫妻。 sql代码:CREATE TABLE IF NOT EXISTS person( id INT PRIMARY KEY AUTO_INCREMENT, sname VARCHA
mysql学习(5):多表之间的关系
mysql相互关联的表之间存在一对一,一对多(多对一),多对多的关系。 1,一对一的关系 这种关系即多个表具有相同的主键,实际中用的并不多,因为完全可以将这种关系的合并为同一张表。 2,一对多(多对一)的关系 其中表1的主键是表2的外键(即表1的某字段作为主键,表2的相同字段字段绑定到表1的主键字段上),举个简单的例子: 有学生表和成绩表如下: CREATE TABLE stu( s
怎么设计vfp数据库与表之间的关系
<br />具体来说,VFP是Visual FoxPro<br />他是一种数据库<br /> 一、 VISUAL FOXPRO基础知识 <br />  1、 基本概念 <br />  数据库、数据模型、数据库管理系统、类和对象、事件、方法。 <br />  2、 关系数据库: <br />  (1) 关系数据库:关系模型、关系模式、关系、元组、属性、域、主关键字和外部关 <br />  键字。 <br />  (2) 关系运算:选择、投影、联接。 <br />  (3) 数据的一致性和完整性:实体完整性、
数据库之 表与表之间的关系
表1 foreign key 表2 则表1的多条记录对应表2的一条记录,即多对一 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记录也可以对应表1的一条记录 一对一: 表1的一条记录唯一对应表2的一条记录,反之亦然 分析时,我们先从按照上面的基本原理去套,然后再翻
表与表之间的关系(转载)
转载网址:http://blog.csdn.net/lengjinghk/article/details/52140276
数据库表与表之间的关系
表与表之间的关系 一对一关系 在这种关系中,父表中的每一条记录最多与子表中的一条记录相关联,在实际工作中,一对一关系使用的很少,因为存在一对一关系的两个表可以简单地合成一个表 一对多关系 这是最普通和常见的关系。在这种关系中,父表的每一条记录都可以与子表中多条记录相关联,但子表中的记录只能与父表中一条记录相关联。
DataSet数据关系与DataTable数据表的约束
一、         将数据表收集到收集到集合中 DataSet dataset=new DataSet(); Dataset.Tables.Add(table);   二、         构建数据表之间的关系 (1)理解表之间的关系: 在关系数据库的建模过程中,“基数”一词描述了两个表之间的关系类型,基数共有三种类型。 (1)     一对一的关系 一个表中的一条记录与另一个