SPJ数据库—初识sql语句(02)(注释版)

本文介绍了在SQL查询中如何使用distinct关键字来去除结果集中重复的行,帮助理解数据库查询的基本操作。
摘要由CSDN通过智能技术生成

注意点:
查询结果里包含了许多重复行,如想去掉结果表中的重复行,必须指定distinct。

/*创建表s*/
create table s
(sno char(4) primary key,--定义主键。
 sname char(20),
 status char(4),
 city char(20)
 )
 
 /*创建表p*/
 create table p
 (pno char(4) primary key,--定义主键。
  pname char(20),
  color char(6),
  weight smallint
 )
 
 /*创建表j*/
 create table j
 (jno char(4) primary key,--定义主键。
  jname char(20),
  city char(20)
 )
 
 /*创建表spj*/
 create table spj
 (sno char(4) references s(sno),--sno属性参考s表的属性sno,sno为外键。
  pno char(4) references p(pno),--pno属性参考p表的属性pno,pno为外键。
  jno char(4) references j(jno),--jno属性参考j表的属性jno,jno为外键。
  qty smallint,
  primary key(sno,pno,jno)--定义主键。
 )

/*创建spj表,定义外键另外一种写法*/
create table spj
(sno char(4),
 pno char(4),
 jno char(4), 
 qty smallint,
 primary key(sno,pno,jno),
 foreign key (sno) references s(sno),
 foreign key (pno) references p(pno),
 foreign key (jno) references j(jno)
 )

/*求供应工程j1零件的供应商号码sno*/
select distinct sno
from spj
where jno='j1'

/*求供应工程j1零件p1的供应商号码sno*/
select distinct sno
from spj
where jno='j1'and pno='p1'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值