1. A
2.DBMS (数据库管理系统)2、SQL(结构化查询语言) 3、table(表) 4、index(索引) 5、field(域) 6、Primary Key(主键) 7、database(数据库)
8、transaction (事务)9、Foreign Key(外键) 10、Record(记录)

解决方案 »

  1.   

    shuiniu(飞扬的梦) 太绝了.哈哈
      

  2.   

    11、下列SQL错误的是( A )三、用SQL实现查询
    1、统计各班学生人数
    select a.班级名,学生人数=isnull(count(b.学号),0)
    from 班级表 a left join 学生表 b on a.班级名=b.班级名2、统计各系部教师人数
    select a.系部名,教师人数=isnull(count(b.教师号),0)
    from 系部表 a left join 教师表 b on a.系部名=b.系部名3、统计各系部学生人数
    select a.系部名,学生人数=isnull(count(c.学号),0)
    from 班级表 b left join 学生表 c on a.班级名=b.班级名
    right join 系部表 a.系部名=b.系部名4、查找在同一个班上名字相同的学生
    select * from 学生表 a 
    where exists(select 1 from 学生表
    where 班级名=a.班级名 and 姓名=a.姓名 and 学号<>a.学号)5、查找1月1日出生的学生
    select * from 学生表
    where month(出生日期)=1 and day(出生日期)=1
      

  3.   

    --没检查,可能有的写错了1、统计各班学生人数
    select a.班级名,count(*) 学生人数
    from 班级表 a left join 学生表 b on a.班级名=b.班级名
    group by a.班级名
    2、统计各系部教师人数
    select a.系部名,count(*) 老师人数
    from 系部表 a left join 教师表 b on a.系部名=b.系部名
    group by a.系部名
    3、统计各系部学生人数
    select a.系部名,count(*) 学生人数
    from 系部表 a left join 班级表 b a.系部名=b.系部名 left join 学生表 c on b.班级名=c.班级名
    group by a.系部名
    4.找在同一个班上名字相同的学生
    select 班级名,姓名
    from 学生表
    group by 班级名,姓名
    having count(*) > 1
    5.查找1月1日出生的学生
    select * from 学生表
    where month(出生日期) = 1 and day(出生日期) = 1
    6.统计“计算机系”每个班开设课程的总数
    select a.班级名,count(distinct 科目) from
    教学安排表 a join 班级表 b
    on a.班级名 = b.班级名 and b.系部名 = '计算机系'
    group by a.班级名
    7、查询学号为“0123456”的学生各学期的考试成绩
    select c.学号,b.姓名,a.学期,a.科目,c.成绩 from 
    教学安排表 a join 学生表 b
    on a.班级名 = b.班级名 and b.学号 = '0123456'
    left join 成绩表 c
    a.教学安排ID = c.教学安排 ID and c.学号 = '0123456'
    8、编写一个触发器模拟参照完整性规则,即在“学生表”中添加记录时,检查“班级名”在“班级表”中是否则存在,若不存在则禁止添加记录
    CREATE TRIGER [T1] ON 学生表
    FOR INSERT 
    AS
    if not exists(select 1 from 班级表 where where 班级名 = (select 班级名 from inserted))
       rollback tran
    9、查询学号为“0123456”的学生各学期考试不及格(小于60分)的科目
    注:(1)输出学号、姓名、学期、科目、成绩
        (2)某一成绩如果没有,作为不及格,在结果中用NULL表示
    select c.学号,b.姓名,a.学期,a.科目,c.成绩 from 
    教学安排表 a join 学生表 b
    on a.班级名 = b.班级名 and b.学号 = '0123456'
    left join 成绩表 c
    a.教学安排ID = c.教学安排 ID and c.学号 = '0123456'
    where c.成绩 < 60 or c.成绩 is null
    10,编写一个触发器模拟级联更新,即在“班级表”中修改“班级名时,同时修改”学生表”中该班学生的“班级名”
    CREATE TRIGER [T1] ON 班级表
    FOR UPDATE
    AS
    update a
    set a.班级名 = (select 班级名 from inserted )
    from 学生表 a join deleted b
    on a.班级名 = b.班级名
      

  4.   

    C SELECT TOP 1*FORM 学生表我左看右看都觉的错漏百出,怎么就是没人选它的???
      

  5.   

    11. A
    二。1.DBMS (数据库管理系统)2、SQL(结构化查询语言) 3、table(表) 4、index(索引) 5、field(域) 6、Primary Key(主键) 7、database(数据库)
    8、transaction (事务)9、Foreign Key(外键) 10、Record(记录)三、
    1、
    select a.班级名,学生人数=isnull(count(b.学号),0)
    from 班级表 a left join 学生表 b on a.班级名=b.班级名2、统计各系部教师人数
    select a.系部名,教师人数=isnull(count(b.教师号),0)
    from 系部表 a left join 教师表 b on a.系部名=b.系部名3、统计各系部学生人数
    select a.系部名,学生人数=isnull(count(c.学号),0)
    from 班级表 b left join 学生表 c on a.班级名=b.班级名
    right join 系部表 a.系部名=b.系部名4、查找在同一个班上名字相同的学生
    select * from 学生表 a 
    where exists(select 1 from 学生表
    where 班级名=a.班级名 and 姓名=a.姓名 and 学号<>a.学号)5、查找1月1日出生的学生
    select * from 学生表
    where month(出生日期)=1 and day(出生日期)=1
      

  6.   

    1. A
    2.DBMS (数据库管理系统)2、SQL(结构化查询语言) 3、table(表) 4、index(索引) 5、field(域) 6、Primary Key(主键) 7、database(数据库)
    8、transaction (事务)9、Foreign Key(外键) 10、Record(记录)
    三、1、统计各班学生人数
    select 班级,总数=count(*) from 班级表 a join 学生表 b on a.班级=b.班级 group by 班级
    2、统计各系部教师人数
    select 系部,教师总数=count(*) from 系部表 a join 教师表 b a.系部=b.系部 group by 系部
    3、统计各系部学生人数
    select 系部,总数=count(*) from 系部表 a join 班级表 b a.系部=b.系部 join 学生表 c on b.班级名=c.班级名 group by 系部
    4、查找在同一个班上名字相同的学生
    select 学生,班级 from 学生表 group by 学生,班级
    5、查找1月1日出生的学生
    select * from 学生表 where convert(char(10),出生日期,'mm-dd')='1-1'