zoukankan      html  css  js  c++  java
  • Java面试题总结之数据库与SQL语句

    微信公众号:AlbertYang
    关注我更多精彩等你来发现!
    Java面试题总结之数据库与SQL语句

    1、有3 个表,表结构如下:

    Student 学生表(学号,姓名,性别,年龄,组织部门)

    Course 课程表(编号,课程名称)

    Sc 选课表(学号,课程编号,成绩)

      

    1)写一个SQL 语句,查询选修了’计算机原理’的学生学号和姓名。

    
     
    selectstudent.sno, student.sname from student 	
    leftjoin sc on student.sno=sc.sno	
    leftjoin course on sc.cno=course.cno	
    wherecourse.cname='计算机原理';


    2)写一个SQL 语句,查询’王小明’同学选修了的课程名字。

    
     
    selectcname from Course	
    wherecno in ( select cno from sc where sno =	
    (selectsno from Student where sname='王小明'));


    3)写一个SQL语句,查询选修了5 门课程的学生学号和姓名

    
     
    selectstu.sno, stu.sname from student stu	
    where(select count(*) from sc where sno=stu.sno) = 5;


    2、有三张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC 表关联。

    1)写出建表语句;

    
     
    createtable s(id integer primary key, name varchar(20));	
    createtable c(id integer primary key, name varchar(20));	
    createtable sc(	
    sidinteger references s(id),	
    cidinteger references c(id),	
    primarykey(sid,cid)	
    );


    2)写出SQL 语句,查询选修了所有选修课程的学生;

    
     
    selectstu.id, stu.name from s stu	
    where(select count(*) from sc where sid=stu.id) = (select count(*) from c);


    3)写出SQL语句,查询选修了至少5 门以上的课程的学生。

    
     
    selectstu.id, stu.name from s stu	
    where(select count(*) from sc where sid=stu.id)>=5;


    3、数据库表(Test)结构如下:

    ID

    NAME

    AGE

    MANAGER(所属主管人ID)

    106

    A

    30

    104

    109

    B

    19

    104

    104

    C

    20

    111

    107

    D

    35

    109

    112

    E

    25

    120

    119

    F

    45

    null

    要求:列出所有年龄比所属主管年龄大的人的ID 和名字?

    答:SQL语句如下:

    
     
    select employee.name from test employee	
    where employee.age > (selectmanager.age from test manager	
    where manager.id=employee.manager);


    4、有如下两张表:

    citystate

    CityNo

    CityName

    StateNo

    BJ

    北京

    Null

    SH

    上海

    Null

    GZ

    广州

    GD

    DL

    大连

    LN

    欲得到如下结果:

    CityNo  City Name  State No  State Name

    BJ       北京      NullNull

    DL      大连         LN      辽宁

    GZ      广州        GD      广东

    SH      上海      Null  Null

    写出相应的SQL 语句。

    答:SQL语句为:

    
     
    SELECTC.CITYNO, C.CITYNAME, C.STATENO, S.STATENAME	
    FROMCITY C, STATE S	
    WHEREC.STATENO=S.STATENO	
    ORDERBY(C.CITYNO);

    640?wx_fmt=jpeg

    640?wx_fmt=jpeg

    长按识别二维码关注。



    觉得不错,点下在看,转发朋友圈支持一下,感激不尽!




  • 相关阅读:
    ZOJ 2158 Truck History
    Knight Moves (zoj 1091 poj2243)BFS
    poj 1270 Following Orders
    poj 2935 Basic Wall Maze (BFS)
    Holedox Moving (zoj 1361 poj 1324)bfs
    ZOJ 1083 Frame Stacking
    zoj 2193 Window Pains
    hdu1412{A} + {B}
    hdu2031进制转换
    openjudge最长单词
  • 原文地址:https://www.cnblogs.com/yangxianyang/p/13675600.html
Copyright © 2011-2022 走看看