主键 子查询

一、主键 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 renyuan
12 (
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 go
5 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

完!!

时间: 2024-10-13 22:22:20

主键 子查询的相关文章

主外键 子查询

主键.外键和子查询 1 主键和外键的区别 1.1定义主键--唯一标识一条记录,不能有重复的,不允许为空 外键--表的外键是另一表的主键, 外键可以有重复的, 可以是空 1.2作用 主键--用来保证数据完整性 外键--用来和其他表建立联系用的 1.3个数: 主键--主键只能有一个 外键--一个表可以有多个外键 2 主键语句code int PRIMARY KEY IDENTITY(1,1), --PRIMARY KEY 标识主键--IDENTITY(1,1) 从一开始,每增加一行加一:插入数据不用

主键 外键 子查询 练习 学生选修课

create database xuankebiao--创建一个选课表的数据库 go use xuankebiao--使用这个数据库 go create table kechengbiao--添加一个课程表的表 ( kcode int primary key not null,--课程编号,主键 kname varchar(20), klaoshi varchar(20), kdh varchar(20), ) create table xiyuanbiao--添加一个院系的表 ( xicode

Hibernate笔记③--集合映射、组合映射、联合主键、查询案例

lazy 懒加载 默认为proxy ? 继承映射 discriminant column="type" type="string" ? 集合映射 生成表的语句: public class DbCreate { ????public static void main(String[] args) { ????????Configuration cfg=new Configuration().configure("/hibernate.cfg.xml"

Oracle 主键、联合主键的查询与创建

--查询某个表是否有唯一主键 select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name ='表名' --查询某个表是否有联合主键 select cu.* from user_cons_columns cu, user_constraints au whe

数据库 SQLserver 主外键 子查询

use lianxigo--创建部门表create table bumen ( bmcode int primary key,  --部门编号  bmname varchar(20),  --部门名字 bmceo varchar(20),  --部门主管 bmtel varchar(20),  --部门电话)go--创建人员表create table renyuan( code int primary key identity(1001,1),  --员工编号 name varchar (20)

主键,组合主键,聚集索引,非聚集索引,唯一索引

前言: 基于Oracle数据库谈谈索引们的问题,以及在什么情况下使用什么索引, 组合主键,怎么根据实际业务需求来定制自己的索引,主键的应用,来提升系统的性能. 1:主键? 在表中唯一的,也是聚集索引.作用于快速查询.该列唯一. Java代码 复制代码 收藏代码 1.ID NUMBER(38,0) PRIMARY KEY NOT NULL, 2:组合主键? 在表中以多个字段组成在表中是唯一的,也是聚集索引.作用于快速查询.该组合列唯一. Java代码 复制代码 收藏代码 1.CREATE TABL

SQL语句汇总(三)——聚合函数、分组、子查询及组合查询 - Darly

–COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计算列的最小值 首先,创建数据表如下: 执行列.行计数(count): 标准格式 SELECT COUNT(<计数规范>) FROM <表名> 其中,计数规范包括: - * :计数所有选择的行,包括NULL值: - ALL 列名:计数指定列的所有非空值行,如果不写,默认为ALL: - DISTINCT 列名:计数指定列的唯一非空值行. 例,计算班里共有多少学生:

CRM 客户端程序开发:根据主键使用OData获取记录的值

根据官方的建议,在表单界面使用OData终结点最好使用REST版本,而不是jQuery版本,所以我这个示例是按照官方的建议来做的. 因为我的JavaScript水平不怎么高,我就直接利用SDK里面的示例辅助JavaScript类库吧.这个类库的位置在 SDK\SampleCode\JS\RESTEndpoint\JavaScriptRESTDataOperations \JavaScriptRESTDataOperations\Scripts. 我将这个文件夹下面的 SDK.REST.js 和

【第三章】字段约束:数据完整性、主键、外键、非空、默认值、自增、唯一性

一.表完整性约束 作用:用于保证数据的完整性和一致性==============================================================约束条件  说明PRIMARY KEY (PK)    标识该字段为该表的主键,可以唯一的标识记录,不可以为空 UNIQUE + NOT NULLFOREIGN KEY (FK)  标识该字段为该表的外键,实现表与表(父表主键/子表1外键/子表2外键)之间的关联NOT NULL 标识该字段不能为空UNIQUE KEY (U