• SQL基础 insert table_name_1 (field1,field2,...) select value1,value2,... from table_name_2 ...


    今天继续学习SQL基础部分,其中书上给出一个案例,源码如下:

    insert 课程注册
    (学号,课程号,教师编号,专业代码,专业学级,选课类型,学期,学年,成绩,学分)
    select distinct 学生.学号,教师任课.课程号,教师任课.教师编号,教学计划.专业代码,
    教学计划.专业学级,教学计划.课程类型,教学计划.开课学期,0,0,0
    from 学生
    join 班级 on 学生.班级代码=班级.班级代码
    join 教学计划 on 班级.专业代码=教学计划.专业代码
    join 教师任课 on 教学计划.课程号=教师任课.课程号
    

      

    其中的语法是:

    insert table_name_1  (field1,field2,...)
    
    select value1,value2,...
    
    from table_name_2
    ...

    或者

    Insert into table_name_1 select * from table_name_2

      

    应用案例:

    在项目中,需要统计数据,从基础表中的数据进行统计,并插入到汇总表中

    在书中的案例,就是查询【学生】、【班级】、【教学计划】、【教师任课】表中的数据,插入到【课程注册】表中进行汇总

    field 必须与 values 须一致

    注意:

    (1)要求目标表 table_name_1 必须存在,并且字段field,field2...也必须存在

    (2)注意 table_name_1 的主键约束,如果 table_name_1 有主键而且不为空,则 field1, field2...中必须包括主键

    (3)注意语法,不要加values,和插入一条数据的sql混了,不要写成: Insert into table_name_1 (field1,field2,...) values (select value1,value2,... from table_name_2)

  • 相关阅读:
    hdu 4297 One and One Story 夜
    hdu 4280 Island Transport 夜
    1389. Roadworks 夜
    hdu 4289 Control 夜
    hdu 4291 A Short problem 夜
    hdu 4284 Travel 夜
    1080. Map Coloring 夜
    正则中的转义符\
    起重复出现作用的量词*和+
    安卓的权限大全和动态使用安卓权限
  • 原文地址:https://www.cnblogs.com/lncyc/p/13252295.html
Copyright © 2020-2023  润新知