2018/08/25--mysql数据库

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5;

SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION SELECT vend_id,prod_price,prod_id FROM products WHERE vend_id IN (1001,1002);

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION ALL SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002) ORDER BY vend_id,prod_price;

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 OR vend_id IN (1001,1002);

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5;

vend_id prod_id prod_price
1003 FC 2.50
1002 FU1 3.42
1003 SLING 4.49
1003 TNT1 2.50

SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);

vend_id prod_id prod_price
1001 ANV01 5.99
1001 ANV02 9.99
1001 ANV03 14.99
1002 FU1 3.42
1002 OL1

8.99

使用组合查询:UNION

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);

vend_id prod_id prod_price
1003 FC 2.50
1002 FU1 3.42
1003 SLING 4.49
1003 TNT1 2.50
1001 ANV01 5.99
1001 ANV02 9.99
1001 ANV03 14.99
1002 OL1

8.99

使用多个where条件:

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 OR vend_id IN (1001,1002);

vend_id prod_id

prod_price

1001 ANV01 5.99
1001 ANV02 9.99
1001 ANV03 14.99
1003 FC 2.50
1002 FU1 3.42
1002 OL1 8.99
1003 SLING 4.99
1003 TNT1 2.50

关于组合查询(UNION):各个查询包含的列、表达式、聚集函数必须相同,对各列的次序没有要求,不过最好次序一致。

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION SELECT vend_id,prod_price,prod_id FROM products WHERE vend_id IN (1001,1002);

vend_id prod_id prod_price
1003 FC 2.50
1002 FU1 3.42
1003 SLING 4.49
1003 TNT1 2.50
1001 5.99 ANV01
1001 9.99 ANV02
1001 14.99 ANV03
1002 3.42 FU1
1002 8.99 OL1

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION ALL SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);

vend_id prod_id prod_price
1003 FC 2.50
1002 FU1 3.42
1003 SLING 4.49
1003 TNT1 2.50
1001 ANV01 5.99
1001 ANV02 9.99
1001 ANV03 14.99
1002 FU1 3.42
1002 OL1

8.99

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002) ORDER BY vend_id,prod_price;

vend_id prod_id prod_price
1001 ANV01 5.99
1001 ANV02 9.99
1001 ANV03 14.99
1002 FU1 3.42
1002 OL1 8.99
1003 TNT1 2.50
1003 FC 2.50
1003 SLING 4.49

关于组合查询(UNION/UNION ALL):

各个查询包含的列、表达式、聚集函数必须相同,不过对各列次序没有要求,当然,最好次序相同。

使用组合查询(UNION), 会默认去除重复行。

使用组合查询(UNION ALL),不会去除重复行

关于组合查询的排序关于UNION / UNION ALL 的  ORDER BY):

组合查询中只能使用一个ORDER BY,且必须放在最后一个SELECT子句后

ORDER BY 是对所有SELECT 的结果进行排序。

猜你喜欢

转载自blog.csdn.net/qzw752890913/article/details/82025079
今日推荐