现有两张数据表(MySQL数据库)如下:x_pt_info x_user_info字段 类型 长度 小数位 字段 类型 长度 小数位user_id int 11 user_id int 11pt_group int 11 user_name varchar 20pt_number decimal 10 2 user_work int 1描述一下这个SQL语句的作用:SELECT b.user_id as user_id,b.user_name as user_name,round(sum(a.pt_num

题目

现有两张数据表(MySQL数据库)如下:

x_pt_info x_user_info

字段 类型 长度 小数位 字段 类型 长度 小数位

user_id int 11 user_id int 11

pt_group int 11 user_name varchar 20

pt_number decimal 10 2 user_work int 1

描述一下这个SQL语句的作用:

SELECT b.user_id as user_id,b.user_name as user_name,round(sum(a.pt_number),2) as ptnum from x_pt_info a,x_user_info b where

a.user_id=b.user_id and a.pt_group=1 and b.user_work=2 group by a.user_id order by ptnum desc

另外,就你的经验,你觉得该语句是否有改进的余地,如有,请阐述。


相似考题
更多“现有两张数据表(MySQL数据库)如下:x_pt_info x_user_info字段 类型 长度 小数位 字段 类型 长度 小数位user_id int 11 user_id int 11pt_group int 11 user_name varchar 20pt_number decimal 10 2 user_work int 1描述一下这个SQL语句的作用:SELECT b.user_id as user_id,b.user_name as user_name,round(sum(a.pt_num”相关问题
  • 第1题:

    include “stdio.h” void main() { int sum=0,a=11; while(a<=10) {sum=sum+a; a++; }

    #include “stdio.h” void main() { int sum=0,a=11; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 上述程序段的运行结果是( )

    A. sum=0

    B. sum=55

    C. sum=10

    D. sum=11


    正确答案:A

  • 第2题:

    在FoxPro中定义一个新数据库时,需要定义( )。

    A.字段名称、字段宽度,字段类型、小数位数

    B.字段长度,字段类型、字段大小

    C.字段名称、字段类型、字段宽度、小数长度

    D.字段名称、字段类型、字段长度、小数长度


    正确答案:A

  • 第3题:

    下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。

    public class Sum{

    public static void main(String args[])

    {

    //1.调用suml(int n),求1~100的和

    System.out.println("1~100的和:"+sum1(100));

    //2,调用sum2(int n),求1~100的和

    System.out.println("1~100的和:"+sum2(100));

    }

    static int suml(int n)

    {

    int result=0;

    for(int i=1;i<=n;i++)

    ________________

    retrun result;

    }

    static int sum2(int n)

    {

    if(______________)

    return 1;

    else

    _____________

    }

    }


    正确答案:result+=i; n==1 return n+sum2(n-1);
    result+=i; n==1 return n+sum2(n-1); 解析:本题主要考查递归调用的算法及for循环语句的使用。解答本题的关键是热练掌握递归调用的算法及for循环语句的使用.在本题中,result+=i;语句的功能是累加求和,if(n==1)语句的功能是判断当n==1时,累加和为1,return n+sum2(n-1);语句的功能是递归调用sum2(int n)方法求和。

  • 第4题:

    这个sql语句怎么写?

    有三个表如下

    users(id,name);

    type(id,name);

    note(id,title,contents,user_id,author_id,type_id);

    其中,user_id是作者、author_id是原创作者都是与users中的id进行关联的,type_id是分类编号,与type的id关联。

    现在需要创建一个视图显示note中的id、title、contents、user_id、author_id、type_id、以及user_id、author_id、type_id对应的name。

    怎样写sql语句呢?


    思路:用游标通过系统表每次取一个字段update表a数据一次,将其它字段update成和该字段一样的值
    DECLARE @fieldname varchar(200)
    DECLARE test CURSOR FOR
    select a.name from syscolumns a
    join sysobjects b on a.id=b.id
    where b.name='a' and a.colid<>1
    --游标遍历系统表,查出a表所有字段,去掉第一个字段
    OPEN test
    FETCH NEXT FROM test into @fieldname
    WHILE @@FETCH_STATUS = 0
    BEGIN
    update a set a.属性1=b.@fieldname,a.属性2=b.@fieldname,。。。a.属性n=b.@fieldname
    from a a join a b on a.名称=b.名称
    where b.@fieldname is not null
    --这里可以改成通过系统条查出的字段名称拼成sql,这样就通用了,不管该表多少个字段也不用改sql了,时间关系我不写了.
    end
    CLOSE test
    DEALLOCATE test

    执行完后所有的属性字段的值都是一样的,随便取哪个字段都是你要的结果
    注意,这段sql有条件限制,名称字段必须是该表的的第一个字段,如果不是的话把colid的值改成正确的


    希望能帮到你,别忘了采纳我的答案哦,祝你生活愉快!


  • 第5题:

    下列用于定义字段的SQL语句中,错误的是()。

    A.学号varchar(10)

    B.成绩int4

    C.产量float

    D.价格decimal(8,4)


    本题答案:B

  • 第6题:

    说明一个长度为10的数组,元素类型为整型指针的正确语句是()

    • A、int*pary[10]
    • B、int(*pary)[10]
    • C、int*pary(10)
    • D、int**pary[10]

    正确答案:A

  • 第7题:

    假定在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义如下所示: 学生(学生号char(7),姓名char(8),性别char(2),专业char(10),年级int) 课程(课程号char(4),课程名char(10),课程学分int) 选课(学生号char(7),课程号char(4),成绩int) 在下面查询语句中,所使用的字段函数sum是用来()。 select sum(成绩) from 选课

    • A、求平均值
    • B、求最大值
    • C、求最小值
    • D、求总和

    正确答案:D

  • 第8题:

    下列语句中,不能正确定义长度为4的数组a的语句是()

    • A、 int[] a=new int[]{1,2,3,4};
    • B、 int[] a= {1,2,3,4};
    • C、 int[] a=new int[4]{1,2,3};
    • D、 int[] a=new int[4]{1,2,3,4};

    正确答案:C

  • 第9题:

    下列用于定义字段的SQL语句中,正确的是()。

    • A、学号varchar(10)
    • B、成绩int4
    • C、产量float
    • D、价格decimal(8,4)

    正确答案:A,C,D

  • 第10题:

    mysql数据库中一张user表中,其中包含字段A,B,C,字段类型如下:A:int,B:int,C://int根据字段A,B,C按照ABC顺序建立复合索引idx_A_B_C,以下查询语句中使用到索引idx_A_B_C的语句有哪些()。

    • A、 select *from user where A=1 and B=1
    • B、 select *from user where 1=1 and A=1 and B=1
    • C、 select *from user where B=1 and C=1
    • D、 select *from user where A=1 and C=1

    正确答案:A,B,D

  • 第11题:

    单选题
    下列用于定义字段的SQL语句中,错误的是()。
    A

    学号varchar(10)

    B

    成绩int4

    C

    产量float

    D

    价格decimal(8,4)


    正确答案: C
    解析: 暂无解析

  • 第12题:

    单选题
    现有表Employee,字段:id(int)、firstname(varchar)、lastname(varchar);以下sql语句错误的是()
    A

    select firstname+’.’+lastnameas’name’from employee

    B

    select firstname+’.’+lastname=’name’from employee

    C

    select’name’=firstname+’.’+lastnamefrom employee

    D

    select firstname,lastname from employee


    正确答案: B
    解析: 暂无解析

  • 第13题:

    如果某字段希望存放客户的家庭或办公电话,那么该字段应该采用_______数据类型。

    A.char(10)

    B.varchar(13)

    C.text

    D.int


    参考答案:B

  • 第14题:

    请编写一个函数int sum(int n),该函数完成1+2+3+…+n的运算,并返回运算结果,其中n>0。注意:请使用递归算法实现该函数。

    注意:部分源程序已存在文件:test11.cpp中。

    请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。

    文件test11_2.cpp的内容如下:

    include<iostream.h>

    int sum(int n)

    {

    }

    void main()

    {

    int n;

    cout<<"输入n:";

    cin>>n;

    int result;sum(n);

    cout<<"结果为:"<<result<<endl;

    }


    正确答案:int sum(int n) { if(n==1) return 1; else return n + sum(n-1); }
    int sum(int n) { if(n==1) return 1; else return n + sum(n-1); } 解析:本题考查的是考生对于递归函数的熟练应用。递归的终止条件为n=1时,返回值为1

  • 第15题:

    有如下函数模板定义:templateT1 sum(T1 a1) {return(a1+a2+a3);}则

    有如下函数模板定义: template<typename T1,int a2,int a3> T1 sum(T1 a1) { return(a1+a2+a3); } 则以下调用中正确的是( )。

    A.sum<int,4,3>(5);

    B.sum<4,3>(5);

    C.sum<int,int,int>(5);

    D.sum(5);


    正确答案:A

  • 第16题:

    ②创建一个表testTable,有两个字段A 和B,类型分别为 int,长度为20 的可变类型;


    正确答案:
     

  • 第17题:

    执行下列语句后,变量sum的值是【 】。

    int sum=0;

    for(int i=1;i<=3;i++)

    for(int j=1;j<=i;j++)

    sum++;


    正确答案:6
    6 解析:本题考查的知识点是:for循环的嵌套。题目中外循环会循环3次,每次循环变量i的值分别为1、2、3。而内循环会循环i次,故3次执行内循环,循环的次数分别为1、2、3次。那么,sum总共被增1了6次。故最终sum的值为6。

  • 第18题:

    现有: class TestApp{ public static void main (String[] args){ int [5] myarray={ 10, 11, 12, 13, 14); int sum=0; for (int x : myarray) sum+=x; System. out. println( "sum= "+sum); } } 上述程序运行后的结果是哪项?()

    • A、sum=10
    • B、sum=70
    • C、sum=60
    • D、运行时抛出异常

    正确答案:C

  • 第19题:

    假定在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义如下所示:        学生(学生号char(7),姓名char(8),性别char(2),专业char(10),年级int)        课程(课程号char(4),课程名char(10),课程学分int)        选课(学生号char(7),课程号char(4),成绩int) 在下面查询语句中,所使用的星号*代表选课表中的()。 select* from 选课 order by 成绩

    • A、一部分字段
    • B、所有字段
    • C、最后一个字段
    • D、第一个字段

    正确答案:B

  • 第20题:

    下列语句中,不能够正确定义长度为4的数组a的语句是()

    • A、int[]a={1,2,3,4};
    • B、int[]a=newint[4]{1,2,3};
    • C、int[]a=newint[4]{1,2,3,4};
    • D、int[]a=newint[]{1,2,3,4};

    正确答案:A

  • 第21题:

    现有表Employee,字段:id(int)、firstname(varchar)、lastname(varchar);以下sql语句错误的是()

    • A、select firstname+’.’+lastnameas’name’from employee
    • B、select firstname+’.’+lastname=’name’from employee
    • C、select’name’=firstname+’.’+lastnamefrom employee
    • D、select firstname,lastname from employee

    正确答案:B

  • 第22题:

    单选题
    下列语句中,不能正确定义长度为4的数组a的语句是()
    A

     int[] a=new int[]{1,2,3,4};

    B

     int[] a= {1,2,3,4};

    C

     int[] a=new int[4]{1,2,3};

    D

     int[] a=new int[4]{1,2,3,4};


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    现有:      class TestApp{  public  static  void main (String[]  args){      int [5]   myarray={ 10, 11, 12, 13, 14);      int sum=0;  for (int x  :  myarray)     sum+=x;  System. out. println( "sum= "+sum);     }     }  上述程序运行后的结果是哪项?()
    A

     sum=10

    B

     sum=70

    C

     sum=60

    D

     运行时抛出异常


    正确答案: C
    解析: 暂无解析