例如 select * from TEST_TABLE T left outer join TEST01_TABLE T01 using(T01.testid)  where T01.ID = 'success';请问上面红色字体表识的using(T01.testid)是什么意思?
说的越详细越好,谢谢.
 

解决方案 »

  1.   

    表TEST_TABLE和表TEST01_TABLE 所相同的列
      

  2.   

    代表,表TEST_TABLE和表TEST01_TABLE 所相同的列
    sql:select * from TEST_TABLE T left outer join TEST01_TABLE T01 using(T01.testid) where T01.ID = 'success';
    相当于
    select * from TEST_TABLE T,TEST01_TABLE T01 where T.testid = T01.testid(+)
      

  3.   

    using(test01.testid),test01指左连接的那张表,testid指的是两张表的相同字段
    以这个相同字段进行连接排序
      

  4.   

    TEST_TABLE 中的testid和TEST01_TABLE中testid 相对比,T01.ID = 'success';反回想等的
      

  5.   

    select * from TEST_TABLE T left outer join TEST01_TABLE T01 using(T01.testid) where T01.ID = 'success'; 
    等价于
    select * from TEST_TABLE T left outer join TEST01_TABLE T01 on T01.testid=T.test.id  where T01.ID = 'success'; 
      

  6.   

    select * from TEST_TABLE T left outer join TEST01_TABLE T01 using(testid) where T01.ID = 'success'; 
    using(testid) 只能用字段名,前面不能加别名
      

  7.   

    USING其实就是指示两个表之间用哪一列来进行相关连接
    SQL> select * from t1;        ID NAME
    ---------- --------------------
             1 wr
             3 wqSQL> select * from t2;        ID NAME
    ---------- --------------------
             1 wh
             2 wpSQL> select * from t1 left outer join t2 using(id);        ID NAME                 NAME
    ---------- -------------------- --------------------
             1 wr                   wh      --t2表中有id=1的记录 所以这里就显示出了wh
             3 wqSQL> select * from t1 left outer join t2 using(t1.id);
    select * from t1 left outer join t2 using(t1.id)
                                                *
    ERROR at line 1:
    ORA-01748: only simple column names allowed here  --using后面的括号里不允许加前缀的 所以你给出的那个语句应该是错误的