数据库相关题目
题1,如何删除掉一张表重复记录?
--创建一个没有指定主键的表,因此可以有多个重复记录;create table cat(catId int,catName varchar(30))--插入多个重复记录insert into cat values(1,'aa') --执行多次insert into cat values(2,'bb') --执行多次--使用distinct关键字去重,并将结果导入到一个临时表#temp(表名可以#开头)select distinct * into #temp from cat--清除表cat中的所有数据delete from cat--将表#temp的数据导入到cat中insert into cat select * from #temp--删除临时表drop table #temp
题2:显示公司每个员工和它上级名字
--用内连接select worker.name,boss.namefrom emp worker, emp bosswhere worker.manager=boss.empNo
?
题3:在题3的基础上,要求没有上级人,名字也要显示出来。
--用左外连接:指左边的表的记录全部显示,如果没有匹配的记录就用null填充select w.name, b.namefrom emp w left join emp bon w.manager=b.empNo
?
题4:实现主键自增长
create table test(testId int primary key identity(1,1), --identity(1,1)表示从1开始自增长,增量为1 testName varchar(30) not null, --约束是不为空 testAge int)
?