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是显式的内联接。
2 年多之前 回复
cqtrq
cqtrq 从你提供的这个教程看,使用inner join语句和不使用inner join语句的结果是一样的。
2 年多之前 回复
guwei4037
guwei4037 回复cqtrq: inner join就是通过主外键进行关联的。
2 年多之前 回复
cqtrq
cqtrq sql语句的多表关联,其中inner jion和数据库里定义的主键外键关系是否一回事?
2 年多之前 回复
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 外键是外键,这个当然是为了查询和删除的时候用的。外键可以拿来当查询相等的条件!
2 年多之前 回复
cqtrq
cqtrq 那数据库里是否就没必要定义外键关系了?感觉这两个是重复的
2 年多之前 回复
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
上传中...
上传图片
插入图片