• 数据库相关笔试题目


    1.为管理岗位业务培训信息,建立3个表:
    S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
    C (C#,CN ) C#,CN 分别代表课程编号、课程名称
    SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩
    1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
    2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
    3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
    4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
    5. 查询选修了课程的学员人数
    6. 查询选修课程超过5门的学员学号和所属单位
    1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名 
    select s#,sn from s where s# in (select s# from sc where c#=(select c# from c where cn='税收基础')) 
    
    2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位 
    select sn,sd from s where s# in (select s# from sc where c#='C2') 
    
    3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位 
    select sn,sd from s where s# not in (select s# from sc where c#='C5') 
    
    4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位 
    select sn,sd from s where s# in (select s# from sc where c# = all(select c# from c) group by s#) 
    
    5. 查询选修了课程的学员人数 
    select count(distinct s#) from SC 
    
    6. 查询选修课程超过5门的学员学号和所属单位 
    select s#,sd from s where s# in (select s# from sc group by s# having count(*)>5) 
    View Code

     2.已知test表有id和score字段,现用sql语句求出score最大值(不允许使用max)

    select tc.score from test  as tc where tc.score not  in
     (select ta.score from test as ta ,test as tb where ta.score <tb.score)
    View Code

    3.如何提高模糊查询性能,简单描述

    1.尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.
    解决办法:
    a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了。
    b、直接修改后台——根据输入条件,先查出符合条件的供应商,并把相关记录保存在一个临时表里头,然后再用临时表去做复杂关联
    2.索引问题
    法则:不要在建立的索引的数据列上进行下列操作:
      ◆避免对索引字段进行计算操作
      ◆避免在索引字段上使用not,<>,!=
      ◆避免在索引列上使用IS NULL和IS NOT NULL
      ◆避免在索引列上出现数据类型转换
      ◆避免在索引字段上使用函数
      ◆避免建立索引的列中使用空值。
    3.复杂操作
      部分UPDATE、SELECT 语句 写得很复杂(经常嵌套多级子查询)——可以考虑适当拆成几步,先生成一些临时数据表,再进行关联操作
    等等面试笔试回答一些应该可以了
    View Code

    4.sql server中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值

    Select MAX(ID) AS ID FROM 表

     
  • 相关阅读:
    iOS各种证书
    Error No matching provisioning profiles found
    iOS 一个开发者账号 多台Mac 共用
    外中断(学习汇编)
    端口(学习汇编)
    8086CPU寄存器
    int指令(学习汇编)
    内中断(学习汇编)
    标志寄存器(学习汇编)
    CALL和RET指令(学习汇编)
  • 原文地址:https://www.cnblogs.com/jlf19881031/p/3549834.html
Copyright © 2020-2023  润新知