【MYSQL】一直以为下面这条语句会出错,但是执行没错误!
一直以为下面这条语句会出错,但是执行没错误
SELECT article, dealer, price
FROM shop s1
WHERE price = (SELECT MAX(s2.price)
FROM shop s2
WHERE s1.article = s2.article);
SELECT article, dealer, price
FROM shop s1
WHERE price in (SELECT MAX(s2.price)
FROM shop s2
WHERE s1.article = s2.article);
括号中内容是上面子查询的结果:
select * from shop where price = (3.99,10.99,1.69,19.95);//出错
select * from shop where price in (3.99,10.99,1.69,19.95);
语句一的子查询是查出一个就比较 还是全查出来再进行比较,