首页 > 解决方案 > 为什么即使我有满足我条件的数据,我也会在 oracle live 中收到“找不到数据”错误?

问题描述

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES(1001,'BOOK','PINK',1500);

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES(1002,'TABLE','BLUE',3500);

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES(1003,'COVER','BLACK',1800);

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES(1004,'PANT','WHITE',2500);

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES(1005,'RIBBON','RED',1500);

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES(1006,'RING','BLUE',3000);

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES(1007,'CUP','RED',2500);

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES(1008,'SHIRT','PINK',3000);

//query
SELECT PNO, PNAME
FROM PRODUCTS
WHERE (COLOR = 'PINK') AND (COLOR = 'RED')
AND  SALE_PRICE < 2000;

标签: mysqlsql

解决方案


发生这种情况的原因是因为您没有任何带有PINK AND RED的条目。改为使用OR

//query
SELECT PNO, PNAME
FROM PRODUCTS
WHERE (COLOR = 'PINK') OR (COLOR = 'RED')
AND  SALE_PRICE < 2000;

下一部分只是为了快速向您展示在添加多个插入时您可以选择:

INSERT INTO PRODUCTS(PNO,PNAME,COLOR,SALE_PRICE) 
VALUES
(1001,'BOOK','PINK',1500),
(1002,'TABLE','BLUE',3500),
(1003,'COVER','BLACK',1800),
(1004,'PANT','WHITE',2500),
(1005,'RIBBON','RED',1500),
(1006,'RING','BLUE',3000),
(1007,'CUP','RED',2500),
(1008,'SHIRT','PINK',3000);

推荐阅读