VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1041|回复: 8

大家帮我看看这个SQL怎么写

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-12 19:00:01 | 显示全部楼层 |阅读模式
两个表,一个品牌表,一个产品表
品牌表记录品牌的信息

ID         TITLE
1         诺基亚
2         摩托罗拉
3         西门子

产品表记录品牌表的ID
PRODUCT_ID    TITLE    品牌ID
1             3310        1

我想查找出所有品牌表中还没有在产品表中登记有产品的记录,如产品表中没有西门子的产品,如果可以查到西门子这个品牌呢?
回复

使用道具 举报

0

主题

114

帖子

69.00

积分

新手上路

Rank: 1

积分
69.00
发表于 2020-6-7 00:45:02 | 显示全部楼层
select * from 品牌表 where id not in(select id from 产品表)
回复

使用道具 举报

0

主题

114

帖子

69.00

积分

新手上路

Rank: 1

积分
69.00
发表于 2020-6-7 02:00:01 | 显示全部楼层
select * from 品牌表 where id not in(select 品牌id as id from 产品表)
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-6-7 11:30:02 | 显示全部楼层
select * from 品牌表 where id not in(select distinct id from 产品表)
回复

使用道具 举报

0

主题

11

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-6-7 12:30:01 | 显示全部楼层
select id,title from 品牌表 where id not in select(品牌id from 产品登记)
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-6-7 18:30:01 | 显示全部楼层
create table A(ID int, TITLE nvarchar(10))
insert A select 1,         '诺基亚'
union all select 2,         '摩托罗拉'
union all select 3,         '西门子'

create table B(PRODUCT_ID  int,   TITLE  varchar(10),    品牌ID int)
insert B select 1,             '3310',        1
--1
select * from A
where ID not in
(select distinct 品牌ID from B)
--2
select * from A as A
where not exists(select 1 from B where 品牌ID=A.ID)
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-6-7 20:30:01 | 显示全部楼层
谢谢各位,我试试
回复

使用道具 举报

0

主题

14

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-6-8 15:30:01 | 显示全部楼层
select * from 品牌表 where id not in(select 品牌id from 产品表)
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-6-9 11:15:01 | 显示全部楼层
还有一个问题,是关于批量插入的,如产品表1中的某些符合条件的记录如何批量加入到产品表2中去呢?产品表1和产品表2某些字段是相同的,但不是所有字段完全相同。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表