• 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

    长按识别二维码关注。



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




  • 相关阅读:
    简单到一步安装 xgboost (Windows 64位环境)——anaconda环境
    python中的字符数字之间的转换函数
    Python之基础练习题
    SAS基础语句
    linux 查询目录大小并排序
    loadrunner get、Post 请求的一个java vuser 脚本
    mysql 解析 json格式的字段
    java 使用fast json 与 Map List互相转换
    windows 系统 端口数调整 比避免出现 time_wait连接状态过多
    java 枚举 enum使用
  • 原文地址:https://www.cnblogs.com/yangxianyang/p/13675600.html
Copyright © 2020-2023  润新知