多表查询-关于数据表之间的关系

问题描述

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

解决方案

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

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

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

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

解决方案四:
sql语句要指定关联关系的条件出来才行

解决方案五:
多表查询肯定是要自己来写关联语句。可以用子查询也可以用join

解决方案六:
使用关联效率比较高。使用子查询比较难以理解。。。。

解决方案七:
直接简单多表连接,select * from table1ttable2 where table1.字段=table2.字段

解决方案八:
数据库是数据库,程序是程序。 你数据库不建立关系,程序建立关系也行。 还是要已程序为主的。

时间: 2024-10-01 08:22:01

多表查询-关于数据表之间的关系的相关文章

python查询sqlite数据表的方法

  这篇文章主要介绍了python查询sqlite数据表的方法,涉及Python操作SQLite数据库的基本技巧,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 import sqlite3 as db conn = db.connect('mytest.db') conn.row_factory = db.Row cursor = conn.cursor() cursor.execute("select * from person") rows = cursor.fet

关联数据表查询,不用表连接,不建立外键,如何查询出来

问题描述 关联数据表查询,不用表连接,不建立外键,如何查询出来 查询两个有关联的数据表,一个表是cate分类表,另一个是game游戏表,分类表的id=game表的cate_id 不用表连接,不建立外键,怎么将game表的数据和cate表的数据一一对应查出来.求答 解决方案 select game.*(select cate_name from cate where 分类表的id=game.cate_id) as 分类名 from game

sqlite多表查询并去表2最后一条数据

问题描述 sqlite多表查询并去表2最后一条数据 类似微信的最近聊天界面,A表:id,name B表:id,time A表的id是主键,不会重复,B表的id不是主键可以重复,比如A:数据1(id=1,name="test"),数据2(id=2,name="test2").B:数据1(id=1,time=1)数据2(id=1,time=2),数据3(id=1,time=3),数据4(id=2,time=1),数据5(id=2,time=5),我通过联查方法一次行获取

Thinkphp连表查询及数据导出方法示例_php实例

本文实例讲述了Thinkphp连表查询及数据导出的方法.分享给大家供大家参考,具体如下: 这今天实验室的招新工作就要展开了,我们通过实验室网站关联到杭电OJ,大一的新生将他们杭电的用户名在实验室网站提交,网站就会通过网络爬虫到杭电OJ上面进行数据抓取存到实验室数据库. 现在我要做的事就是把新生表和新生OJ数据表联合导出.实验室网站是用thinkphp框架开发的.所以根据以前的工作经验.问题很快就解决了. 现在跟大家分享一下. thinkphp的扩张类都是放在ORG目录下面,在通过import()

MSSql简单查询出数据表中所有重复数据的方法_MsSql

本文实例讲述了MSSql简单查询出数据表中所有重复数据的方法.分享给大家供大家参考,具体如下: 这里直接给出下面的例子: SELECT * FROM SYS_LogContent slc WHERE slc.LogInfo_ID IN ( SELECT slc2.LogInfo_ID FROM SYS_LogContent slc2 GROUP BY slc2.LogInfo_ID HAVING COUNT(*)>1 ) 简单说明: 关键代码在于上面的括号中.要想查询出所有重复的数据,可以按照某

MSSql简单查询出数据表中所有重复数据的方法

本文实例讲述了MSSql简单查询出数据表中所有重复数据的方法.分享给大家供大家参考,具体如下: 这里直接给出下面的例子: SELECT * FROM SYS_LogContent slc WHERE slc.LogInfo_ID IN ( SELECT slc2.LogInfo_ID FROM SYS_LogContent slc2 GROUP BY slc2.LogInfo_ID HAVING COUNT(*)>1 ) 简单说明: 关键代码在于上面的括号中.要想查询出所有重复的数据,可以按照某

Thinkphp连表查询及数据导出方法示例

本文实例讲述了Thinkphp连表查询及数据导出的方法.分享给大家供大家参考,具体如下: 这今天实验室的招新工作就要展开了,我们通过实验室网站关联到杭电OJ,大一的新生将他们杭电的用户名在实验室网站提交,网站就会通过网络爬虫到杭电OJ上面进行数据抓取存到实验室数据库. 现在我要做的事就是把新生表和新生OJ数据表联合导出.实验室网站是用thinkphp框架开发的.所以根据以前的工作经验.问题很快就解决了. 现在跟大家分享一下. thinkphp的扩张类都是放在ORG目录下面,在通过import()

sql-怎么写Sql语句能把上边的数据库表查询出下边表样式的结果

问题描述 怎么写Sql语句能把上边的数据库表查询出下边表样式的结果 解决方案 这就叫做透视变换 自己谷歌下 解决方案二: http://www.cnblogs.com/luluping/archive/2012/07/26/2610705.html 解决方案三: http://www.cnblogs.com/cpcpc/archive/2013/04/08/3009021.html,这个就是列转行,看下这个.

php 修复表与优化数据表

php 修复表与优化数据表 //--------------------------修复表 function Ebak_Rep($tablename,$dbname){  global $empire;  $dbname=RepPostVar($dbname);  $empire->query("use `$dbname`");  $count=count($tablename);  if(empty($count))  {   printerror("EmptyCha