两个表联合查询 表A   表B  ,要查出A表和B表id相同的数据
select *  from A , B where A.id = B.id  当时我这样写的
结果面试官看了后,很可笑的说:“多表联合查询怎么可能不用join”
关于inner join  out join 我也知道,但是这个问题
写成那样可以解决,最后面试官问我,你确定那条sql语句能运行。
我说是的,以前这样写过,他来了句真搞笑。我回来试了下  
select *  from A , B where A.id = B.id
select * from A inner join B on A.id=B.id 
这两句查询结果相同, 妈的,那面试官真sb

解决方案 »

  1.   

    select *  from A , B where A.id = B.id     这种方式写默认的是左连...  想必那面试官不是搞技术的吧..
      

  2.   

    这个貌似是89版本的sql标准就是这样写的
      

  3.   

    哦,LS说的有道理啊
    select *  from A , B where A.id = B.id   这样是左连接
    有可能那面试官问的是要查两个表都关联的数据
    那样就要用内连接了。
    毕竟左连接把A表有的而B表没有的数据也查出来了。
    这样看来,那面试官说的也没错
      

  4.   

    不对不对,我又试了下 
    select *  from A , B where A.id = B.id 是内连接
     那面试官还是sb
      

  5.   

    这算什么啊!
    我以前一次面试。
    面试官问我,怎么给一个按钮加事件?
    我想,不可能问这么无聊的问题吧,可能是问怎么在后天加事件,或者要自定义事件啥的。
    就说用+=运算符。结果他露出鄙视的神情,然后说,这你都不知道,双击button按钮就可以了啊。
      

  6.   

    想用join来考你,见你来个简明的他不习惯,这个面试官自己水平就不行而且不象是个做实际开发的,可能才从学校出来。
      

  7.   

    select *  from A , B where A.id = B.id  =============================================
    如果做程序久了,或用sql 久了的老手,两表联合查询很少这样写的,这样的语句写出来让人一看很困惑的
      

  8.   

    换了我  我就把中指竖起来  双击button按钮? 你是在跟我搞笑吗?
      

  9.   


    强。你应该这么说。我写程序都是用记事本写的。再用CSC编译。。我电脑上没有鼠标。。
      

  10.   

    SQL 语法有两种标准(美国国标):ANSI-89 和 ANSI-92。ANSI-89 SQL,也叫做 Microsoft Jet SQL 和 ANSI SQL,是传统的 Jet SQL 语法;ANSI-92 SQL 有新的和不同的保留字,语法规则和通配符(Wildcard)。也就是说,ANSI-89 和 ANSI-92 是不兼容的。
    使用where子句完成的连接是ANSI-89连接。在FROM子句中使用JOIN运算符完成的连接是ANSI-92连接。
    如果要严格按照ANSI-92标准来写SQL语句,楼主的写法是错误的。但是那个面试官怎么也不像是学过SQL的,所以他也不会懂这些标准,所以他是非常SB的!!
      

  11.   

    select *  from A , B where A.id = B.id 是内连接 
      

  12.   

    这个你生什么气?以前我去的一家公司,我写了个复合查询,就问我学过SQL吗?
    这个一笑置之
      

  13.   


    我到现在的公司问的就是做过的项目,以及自己觉得比较满意的代码片段,只要大概将一下就OK了,感觉还比较好,更搞笑的是去上一家小公司,直接问会JAVA不,我说会,会delphi不,我说会,然后就告诉我工资,上班时间,不过上一个小公司还是去干了2个月
      

  14.   

    select *  from A , B where  B.id= A.id(+)
    select * from A inner join B on A.id=B.id 
      

  15.   

    ╮(╯▽╰)╭   ╭︿︿︿╮ 
    {/ o  o /}  
     ( (oo) )   
      ︶ ︶︶头
      

  16.   

    根据道理来说是没问题,但是我认为主考官他说用连接是比较好的,inner join or outer join 比做笛卡尔积要好点,
      

  17.   

    ls这个分类倒是第一次听说,平时仅会了两种标准 pl/sql t-sql,看来这东西还得研究下,
      

  18.   

    是的,其实一些公司的面试官,不咋地,都是水品差不多,或者比你还差总是爱问些高深的问题,做网站,去了就问负载均衡,性能啊,缓存啊其实让他说也那么两下子他真的搞过像facebook或者myspace那样数据量的网站吗,有几个人搞过数据量到了那里根部不是一个人能解决的问题,是需要一个团队。发泄牢骚吧!!!
      

  19.   

    确切来说 select * 不是个很好的习惯
      

  20.   

    select *  from A , B where  B.id= A.idselect * from A inner join B on A.id=B.id 我想知道,这2个语句,那一条的速度快,效率高呢?如果你做过实验,请告之结果
      

  21.   

    在   SQL-92   标准中,内联接可在   FROM   或   WHERE   子句中指定。这是   WHERE   子句中唯一一种   SQL-92   支持的联接类型。WHERE   子句中指定的内联接称为旧式内联接。   不好意思,几年来我身边的朋友同事全是低手低手低低手,如果不是需要用左连右连全连的话,就没见过他们用SQL-92新标准