时间:2021-07-01 10:21:17 帮助过:3人阅读
create database lianxi0903 go use lianxi0903 go --创建供应商表 create table gong ( gcode int primary key,--供应商编号 gname varchar(20), --供应商名称 gtel varchar(20) --供应商电话 ) go --创建仓库表 create table cang ( ccode int primary key,--货品编号 cname varchar(20), --货品名称 cshu int, --货品数量 cprice decimal(18,2), --货品价格 cgc int --货品供应商编号 ) go --创建门店表 create table men ( mcode int primary key,--货品编号 mname varchar(20), --货品名称 mshu int, --货品数量 mprice decimal(18,2) --货品价格 ) go --先建立主外键关系再插入数据 --首先插入供应商数据 insert into gong values(1001,‘蒙牛‘,‘1234567‘) insert into gong values(1002,‘伊利‘,‘2345678‘) insert into gong values(1003,‘得益‘,‘3456789‘) go --再插入仓库数据 insert into cang values(101,‘高钙纯牛奶‘,5,3,1001) insert into cang values(102,‘蒙牛酸牛奶‘,6,2.5,1001) insert into cang values(103,‘优酸乳‘,9,4,1001) insert into cang values(104,‘伊利纯牛奶‘,4,3.5,1002) insert into cang values(105,‘高钙酸牛奶‘,2,2.5,1002) insert into cang values(106,‘大果粒‘,7,4.5,1002) insert into cang values(107,‘得益纯牛奶‘,6,3,1003) insert into cang values(108,‘红枣酸奶‘,5,2,1003) insert into cang values(109,‘低脂酸奶‘,4,2.4,1003) go --再插入门店数据 insert into men values(101,‘高钙纯牛奶‘,5,3) insert into men values(102,‘蒙牛酸牛奶‘,6,2.5) insert into men values(103,‘优酸乳‘,9,4) insert into men values(104,‘伊利纯牛奶‘,4,3.5) insert into men values(105,‘高钙酸牛奶‘,2,2.5) insert into men values(106,‘大果粒‘,7,4.5) insert into men values(107,‘得益纯牛奶‘,6,3) insert into men values(108,‘红枣酸奶‘,5,2) insert into men values(109,‘低脂酸奶‘,4,2.4) go --查看所有信息 select * from men --查询蒙牛供应商提供的商品中价格最低的商品的所有信息 select top 1 * from men where mname like(‘%蒙牛%‘) order by mprice select * from men where mprice in (select MIN(mprice) from men where mcode in (select ccode from cang where cgc in (select gcode from gong where gname=‘蒙牛‘))) and mname like(‘%蒙牛%‘) --将仓库表中的供应商编号替换为名称 select ccode,cname,cshu,cprice,(select gname from gong where gong.gcode=cang.cgc) as 供应商名称 from cang --将商品的仓库编号,供应商编号添加上,并且供应商编号替换为名称 select mcode,mname,mshu,mprice, (select ccode from cang where cang.ccode=men.mcode)as 仓库编号 from men
一、连接查询:通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。
常用的两个链接运算符:
1.join on
2.union
在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,随后通过连接进行查询。
二、子查询,又叫做嵌套查询。
将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询。
子查询有两种类型:
一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数;
另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的数据表。
SQL 子查询,连接查询复习
标签: