一个多表查询的SQL语句_数据库其它

有 表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 

时间: 2024-10-22 02:26:19

一个多表查询的SQL语句_数据库其它的相关文章

关于oracle关联表查询的sql语句

问题描述 关于oracle关联表查询的sql语句 现在两张表,分别是表A,表B. 表A: ID CONTENT STARTDATE ENDDATE 1 测试内容1 2014/6/1 2014/6/15 2 测试内容2 2014/5/25 2014/6/30 3 测试内容3 2014/6/8 2014/7/1 4 测试内容4 2014/6/10 2014/6/30 表B: ID A_ID CONTENT MDATE 1 2 测试1 2014/6/5 2 2 测试3 2014/5/3 3 4 测试2

复制数据库表中两个字段数据的SQL语句_数据库其它

复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用. 复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",B字

海量数据库的查询优化及分页算法方案 2 之 改良SQL语句_数据库其它

二.改善SQL语句  很多人不知道SQL语句在SQL SERVER中是如何执行的他们担心自己所写的SQL语句会被SQL SERVER误解.比如 select * from table1 where name=zhangsan and tID > 10000 和执行: select * from table1 where tID > 10000 and name=zhangsan 一些人不知道以上两条语句的执行效率是否一样因为如果简单的从语句先后上看这两个语句的确是不一样如果tID是一个聚合索引

交叉表查询sql语句_数据库其它

表一:      组名      成员1id      成员2id      成员3id      示例数据:      冲锋组     1       2       3      后卫组     2       3       4      表二:      成员id      成员姓名      示例数据:      1     张三      2     李四      3     王五      4     陆二      要求结果        冲锋组     张三       李四

替换一个字段的所有非数字字符为空的sql语句_数据库其它

1.替换一个字段的所有非数字字符为空 update mobileNo_batchreg_black set mobile_no= replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( repla

asp 合并记录集并删除的sql语句_数据库相关

DELETE FROM Tables WHERE ID NOT IN (SELECT Min(ID) FROM Tables GROUP BY Name) Min的话 保留最小的 或者保留最大 那就改成Max即可

一个查询的SQL语句请教,希望能够用一条SQL语句得到结果_数据库其它

  各位老大:  我有一个查询的SQL语句请教,希望能够用一条SQL语句得到结果,问题如下:      表X:      A           B           C       D      ------------------      北京   广州   1000     10      北京   深圳   1200     20      北京   上海   500       30      北京   天津   300       40      北京   河南   800   

discuz-Discuz 3.2 查询的sql语句怎么写?

问题描述 Discuz 3.2 查询的sql语句怎么写? 我在数据表里面加了一个sid,现在要以sid为条件去查询数据,这样写是错误的,,求正确写法!! 解决方案 string sql;sql="select 字段名xx,xx,xx from 数据表名"sql+="where xxx(主键名)="+articleid.ToString();

两表连接的SQL语句

两表连接的SQL语句:这两种写法哪种好?现在提倡用哪一种呢? 例如:一个二表连接的SQL,有两种写法: (1)select A.c1,A.c2,B.c1,B.c2 from table1 A,table2 B where A.id=B.id (2)select A.c1,A.c2,B.c1,B.c2 from table1 A join table2 B on A.id=B.id 哪种写法好呢?现在提倡用哪一种? 你喜欢用哪一种? 我习惯用(1) ---这两个哪个好? 其中11楼的回答最为深入.