string strSQL = "select a.user_id, a.user_name, a.password,a.upower, a.dept_id from [user] a, department b where a.dept_id = b.dept_id and a.user_no = '" + strUserNo + "'";
        DataSet _ds = new DataSet();
        dbfunction _db = new dbfunction();
        _ds = _db.executequery(strSQL);
对于以上的SQL语句,a和b分别代表什么?我没有用过
谢谢

解决方案 »

  1.   

    a和b分别代表[user] 表,department 表.就是别名,省的你这样写:[user].user_id,department.dept_id 
      

  2.   

    ls都说了。说点别的吧```也许通俗点。跟C#里面的class a =new class(),很相似,
    a将拥有class类的全部属性和方法。数据库中为表取别名后,表别名也是一个表对象了。也将拥有该表的字段和所有数据。。
      

  3.   

    ls都说了。说点别的吧```也许通俗点。 跟C#里面的class a =new class(),很相似, 
    a将拥有class类的全部属性和方法。 数据库中为表取别名后,表别名也是一个表对象了。也将拥有该表的字段和所有数据。。、、、
    牛人,解释的好
      

  4.   

    [user] a, department b 
      

  5.   

      string strSQL = "select a.user_id, a.user_name, a.password,a.upower, a.dept_id from [user] a, department b where a.dept_id = b.dept_id and a.user_no = '" + strUserNo + "'";
            DataSet _ds = new DataSet();
            dbfunction _db = new dbfunction();
            _ds = _db.executequery(strSQL);
    看红色部分,其实就是表的别名问题。如果标明表较长,或者表自连接,或者动态sql语句查询的结果,会用到表的别名、
      

  6.   

    [user] a, department ba->user
    b->department
    a,b分别是两表的别名
      

  7.   

    [user] a, department b a,b 是[user]  和 department  起得别名
      

  8.   

    [user] a, department b 
    给表起的别名,
    相当于表a=[user],b=department,
    a.user_id即是[user].user_id等等
    目的方便SQL语句的书写和修改