首页 > 代码库 > 主键 子查询
主键 子查询
一、主键 primary key
1 create database dudu 2 go 3 use dudu 4 go 5 create table bumen 6 ( 7 bcode int primary key, --部门编号--bcode为主键,不能重复,确保唯一性 8 bname varchar(20), --部门名字 9 bzhuguan varchar(20), --部门主管10 )11 create table renyuan12 (13 code int primary key identity(1001,1), --人员编号 --code为主键,不能重复,确保唯一性。identity(1001,1)自增长主键,表示从1001开始,每次增加1,当添加元素时,不用添加此列14 name varchar(20), --人员名字15 age int, --人员年龄16 bc int --人员所属部门编号17 )
二、子查询(尽可能的用主键作为查询条件)
从上面两表(renyuan和bumen)得知,bc和bcode是一样的,可以根据这个条件来设置关系,即设置外键
设置好外键后,添加元素:
1 insert into bumen values(101,‘财务部‘,‘张三‘)2 insert into bumen values(102,‘销售部‘,‘李四‘)3 insert into bumen values(103,‘技术部‘,‘王五‘)4 go5 insert into renshu values(‘张三‘,34,101)6 insert into renshu values(‘李四‘,35,102)7 insert into renshu values(‘王五‘,24,103)
8 insert into renshu values(‘白居易‘,33,101)9 insert into renshu values(‘李清照‘,45,102)10 insert into renshu values(‘王阳明‘,27,103)
11 insert into renshu values(‘孔子‘,78,101)12 insert into renshu values(‘孟子‘,‘66,102)13 insert into renshu values(‘老子‘,89,103)
注意:在给renyuan添加时没有加入code,是因为前面有identity(1001,1)。
-查询年纪最大的人的部门名称select bname from bumen where bcode=(select bc from renyuan where code=(select code from renyuan where age=(select MAX(age) from renyuan)))
--按照年龄排序后的前三个人的所有信息select top 3 * from renyuan order by age--按照年龄排序后的6/7/8名人员的所有信息select top 3 * from renyuan where code not in (select top 5 code from renyuan order by age) order by age
--查询销售部里的年龄大于35岁的人的所有信息select * from renyuan where code in(select code from renyuan where age>35) and bc=(select bcode from bumen where bname=‘销售部‘)
--查看所有人员信息,将部门编号替代为部门名称select code,name,age,(select bname from bumen where bumen.bname=renyuan,bc) as 部门 from renyuan
完!!
主键 子查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。