CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

^_^ 请教一个SQL语句 ^_^

楼主yuyes(无业游民)2006-03-04 20:31:33 在 MS-SQL Server / 基础类 提问

在网络上看到一个SQL语句的面试题,一时间想不出来这一句SQL怎么写,请教各位,呵呵。  
   
  ——————————————————————————————————————————  
   
  有两个表Table_A和Table_B,字段和内容分别是  
   
  表   Table_A  
  userid       username         Address  
  ------------------------------------  
  1                 A  
  2                 B  
  3                 C  
   
   
  表   Table_B  
  userid     username           Address  
  ----------------------------  
  1                                         D  
  2                                         E  
  3                                         F  
   
   
  问题一:请写出一条SQL语句,目的是将Table_B和Table_A比较,如果userid相同,就把Table_B中Address的值写到Table_A的字段Address里。  
   
  问题二:请写出一条SQL语句,目的是将Table_B和Table_A比较,如果userid相同,就把Table_A中的username的值、Table_B中的Address的值读出来。 问题点数:30、回复次数:4Top

1 楼samfeng_2003(凤翼天翔)回复于 2006-03-04 20:40:12 得分 5

declare   @t   table  
  (userid   int,username   varchar(20),address   varchar(20))  
   
  declare   @t1   table  
  (userid   int,username   varchar(20),address   varchar(20))  
   
  insert   @t  
  select   1,'A',null   union   all  
  select   2,'B',null   union   all  
  select   3,'C',null  
   
  insert   @t1  
  select   1,null,'D'   union   all  
  select   2,null,'E'   union   all  
  select   3,null,'F'  
   
   
  update   @t   set   address=b.address  
  from   @t   a,@t1   b  
  where   a.userid=b.userid  
   
  select   *   from   @t  
   
  select   b.userid,a.username,b.address  
  from   @t   a,@t1   b   where   a.userid=b.userid  
   
   
  userid             username                           address                              
  -----------   --------------------   --------------------    
  1                       A                                         D  
  2                       B                                         E  
  3                       C                                         F  
   
  (所影响的行数为   3   行)  
   
  userid             username                           address                              
  -----------   --------------------   --------------------    
  1                       A                                         D  
  2                       B                                         E  
  3                       C                                         F  
   
  (所影响的行数为   3   行)  
  Top

2 楼scmail81(琳·风の狼(修罗))回复于 2006-03-04 20:41:57 得分 13

1.  
  update   Table_A   set   Address=B.Address  
  from   Table_A   A,Table_B   B  
  where   A.userid=B.userid  
   
  2.  
  select   A.username,B.Address  
  from   Table_A   A,Table_B   B  
  where   A.userid=B.useridTop

3 楼wgsasd311(自强不息)回复于 2006-03-04 20:42:48 得分 12

 
  /*问题一:请写出一条SQL语句,目的是将Table_B和Table_A比较,如果userid相同,  
  就把Table_B中Address的值写到Table_A的字段Address里。*/  
   
  update   a   set   address=b.address  
  from   table_a   a   ,table_b   b   where   a.userid=b.userid  
   
  /*问题二:请写出一条SQL语句,目的是将Table_B和Table_A比较,如果userid相同,  
  就把Table_A中的username的值、Table_B中的Address的值读出来。*/  
   
  select   a.username,b.address  
  from   table_a   a   ,table_b   b   where   a.userid=b.useridTop

4 楼yuyes(无业游民)回复于 2006-03-04 20:53:01 得分 0

TO:samfeng_2003(凤翼天翔)    
   
  你跟我一样,想的太复杂了,晕Top

相关问题

  • 求SQL语句
  • sql语句。
  • sql语句?
  • sql 语句?
  • 求SQL语句
  • ***求SQL语句***
  • sql语句??
  • sql语句
  • sql语句
  • SQL语句

关键词

  • 语句
  • sql
  • null
  • addressfrom
  • userid
  • bwhere
  • username
  • union allselect
  • address
  • table

得分解答快速导航

  • 帖主:yuyes
  • samfeng_2003
  • scmail81
  • wgsasd311

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo