当前位置: 首页 > 图文教程 > 数据库 > 数据库技巧 > 一个多表查询的SQL语句

数据库技巧
数据库删除完全重复和部分关键字段重复的记录
SQL服务器面临的危险和补救.读[十种方法]后感.
SQLite不支持Right Join的解决办法GROUP BY
mssql注入躲避IDS的方法
本地SQL注射攻略分析曝光
数据库 左连接 右连接 全连接用法小结
以前架征途时的合区的SQL语句代码备份
sql语句中where 1=1的作用
dba_indexes视图的性能分析
推荐Sql server一些常见性能问题的解决方法
带参数的sql和不带参数的sql存储过程区别
SQL语句详细说明[部分]
PostgreSQL8.3.3安装方法
三表左连接查询的sql语句写法
MSSQL自动同步设置方法
mssql数据同步实现数据复制的步骤
SQL嵌套查询总结
sql2005可实时监测数据库版本控制SQL的触发器
sql 中将日期中分秒化为零的语句
SQL 注入式攻击的本质

数据库技巧 中的 一个多表查询的SQL语句


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 105 ::
收藏到网摘: n/a

有 表1:如下内容 表2: 如下内容
id info id value
1 a 1 10
2 b 2 30
3 c
4 d
想得到
id value
1 10 //表2中存在
2 20 //表2中存在
3 0 //表2中不存在
4 0 //表2中不存在
是否可以使用一条sql语句来解决,而不必先从表1中得到id,再在表2中查找是否有该条记录,如果有就直接读取出来,没有则赋值为0
复制代码 代码如下:

select 表1.id,isnull(value,0) from 表1
left join 表2
on 表1.id=表2.id


复制代码 代码如下:

select a.id,isnull(b.value,0) from 表1 a
left join 表2 b
on a.id=b.id