Insert into 多条数据记录以及集合的SQL语句

分类: SQL |
(一) insert into多条记录--数据项
在mssql可以这样
insert into tablefortest(a,b)
select 1,2
union
select 3,4
union
select 5,6
在mysql可以这样
insert into tablefortest(a,b)values(1,2) ,(3,4) ,(5,6)
insert into
base_datadictionary(dataItemNum,dataItemName,fatherItemId,dataItem,isLeaf,remark)
values(2,'973、863项目',2917,'',1,''),
(4,'国家社科规划、基金项目',2917,'',1,''),
(5,'教育部人文、社会科学研究项目',2917,'',1,''),
(6,'国家自然科学基金项目',2917,'',1,''),
(7,'中央、国家各部门项目',2917,'',1,''),
(9,'省(自治区、直辖市)项目',2917,'',1,''),
(12,'国际合作研究项目',2917,'',1,''),
(13,'与港、澳、台合作研究项',2917,'',1,''),
(14,'企、事业单位委托项目',2917,'',1,''),
(15,'外资项目',2917,'',1,''),
(16,'学校自选项目',2917,'',1,''),
(17,'国防项目',2917,'',1,''),
(90,'非立项',2917,'',1,''),
(99,'其他',2917,'',1,'');
(二) insert into select多条记录---数据集
用法:
语句形式为:Insert into Table2(field1,field2,...) select
value1,value2,... from Table1
--1.创建测试表
(三)
-------------------------------------
--
-------------------------------------
--求没有选择课号为‘c01’的学生学号
select sid from learning
select sid from learning
--求没有选择课号为‘c01’的学生的学号和课号
select sid,cid from learning
--正确:
select sid,cid from learning
-------------------------------------
--
-------------------------------------
--求同时选了课号为'c01'和'c02'的学生学号
select sid from learning where cid='c01' and cid='c02'
select sid from learning where cid='c01'
select l1.sid from learning l1,learning l2
--问题:求同时选了课号为'c01'和‘c02’的学生学号和课号。
-------------------------------------
--
-------------------------------------
--求计算机系学生的学号和选了'c03'课程且成绩在分以上的学生学号
select sid from student where department='计算机系'
--分解分析,两个子查询自动将重复出现的记录合并
select sid from student where department='计算机系'
select sid from learning