快乐SQL复习 - WHERE条件查询和DISTINCT关键字
上次我们说到了SELECT…FROM…语句,这次我们来说说条件查询~
条件查询的意思就是筛选出你select出来的数据的部分数据,假设一个消费者数据库有100万个id,而我只想看广东地区的消费者数据,那么我就要用到SELECT查询的 WHERE 子句,用来描述我的筛选,通过我们描写的condition,限定这些行的属性满足某些具体条件。
WHERE子句的语法如下:
SELECT column, another_column,
FROM table
WHERE condition
AND/OR another_condition
AND/OR…
WHERE语句有很多关键字,可以用来辅助我们查询:
这样说小伙伴可能看不太清楚,我们直接举栗子说明~
这是一个消费者的表,表名为:consumer
我想要筛选出广东地区的消费者的名字和商品id,该怎么做呢?
首先,因为我们最后输出的结果希望是名字和商品id,那我们的SELECT后面应该跟着name,product_id。
然后我们的where语句后面的condition就应该是:region = “广东”
完整答案:
SELECT name,product_id
FROM consumer
WHERE region = “广东”
输出结果:
接下来,我想要筛选出 id 为 1-3 的消费者的所有详细消息,该怎么做呢?
我们可以用到前面说的BETWEEN…AND…关键字,也可用到小于号
方法1:
SELECT *
FROM consumer
WHERE id BETWEEN 1 AND 3
方法2:
SELECT *
FROM consumer
WHERE id < 4
输出结果:
接下来,我想要筛选广东和广西的消费者购买的id和产品id,该怎么做呢?
首先,广东和广西都有“广”字,我们可以用到刚刚说到的LIKE 和 %
另外一种方法是用在condition里面使用OR,我们一起来看看吧:
方法1:
SELECT id, product_id
FROM consumer
WHERE region LIKE "% 广 %"
方法2:
SELECT id, product_id
FROM consumer
WHERE region LIKE “广东"
OR region LIKE “广西"
输出结果:
在最后我们来看一个DISTINCT语法,这个关键字会加在SELECT语句中,加入这个关键字的时候,SQL会删除掉重复的行,比如我们要看看哪个省份有我们的消费者,我们应该这么写:
SELECT DISTINCT region
FROM consumer
输出结果:
这就是关于SELECT条件查询的复习啦~
喜欢的话可以收藏~也可以给兔子点个赞噢~奥利给!