SQL过滤数据

SQL过滤数据

  • where + 数学符号
  • where + between ... and ...
  • where + is null
  • where + 逻辑运算符
    • where + and
    • where + or
    • where + and + or
    • where + not + in
  • where + in + 某类别下的内容
  • where + in + sql语句查询出来的内容
  • where + like + 通配符
  • where + regexp + 正则表达式

查询中存在一些没有用到的数据时,我们需要对数据进行过滤;
使用 where 函数对数据进行过滤

where + 数学符号

数学符号包括:
> , < , = , <=, >= , >< (不等于)

select 
	purchase_price
from 
	product
where
	purchase_price = 500;  -- 这里的500 也可以是字符

举例1:
SQL过滤数据_第1张图片
举例2:
SQL过滤数据_第2张图片

where + between … and …

between 边界1 and 边界2 ;
注意:包含边界

select 
	purchase_price
from 
	product
where
	purchase_price between	790 and 2800;
	

SQL过滤数据_第3张图片

where + is null

查询表格为空的记录

select 
	product_name,
    product_type,
    purchase_price
from 
	product
where
	 purchase_price is null;

SQL过滤数据_第4张图片

where + 逻辑运算符

where + and

使用逻辑运算可以限制过个条件

select 
	product_name,
    product_type,
    purchase_price
from 
	product
where
	 (purchase_price is null) and (product_type = '厨房用具');

SQL过滤数据_第5张图片

where + or

select 
	product_name,
    product_type,
    purchase_price
from 
	product
where
	 (purchase_price is null) 
     or (product_type = '厨房用具');

SQL过滤数据_第6张图片

where + and + or

适当的使用括号,可以避免逻辑运算符的错误。

select 
	product_name,
    product_type,
    purchase_price
from 
	product
where
	 (purchase_price is null) 
     or (product_type = '厨房用具' 
		 and purchase_price between 790 and 2800);
		 

SQL过滤数据_第7张图片

where + not + in

找出和条件不匹配的记录

select
	product_name,
    product_type,
    purchase_price
from 
	product
where
	not product_type in ( '厨房用具'); 
	

SQL过滤数据_第8张图片

where + in + 某类别下的内容

in 表示我们限制了要使用哪些数据; in 后面的内容用 小括号括起来

select
	product_name,
    product_type,
    purchase_price
from 
	product
where
	product_name in ('菜刀', '叉子');

SQL过滤数据_第9张图片

where + in + sql语句查询出来的内容

select
	product_name,
    product_type,
    purchase_price
from 
	product
where
	product_name in (
		select 
			product_name
		from 
			product
		where 
			product_type in ('厨房用具')
    );

SQL过滤数据_第10张图片

where + like + 通配符

select
	product_name,
    product_type,
    purchase_price
from 
	product
where
	product_name like '%T恤';
	

SQL过滤数据_第11张图片
通配符说明:
% 可以匹配满足条件的所有字符,只要存在就输出
_ 下划线,仅仅匹配单个字符,几个下划线就匹配几个字符;

注意:
通配符不能匹配 null

where + regexp + 正则表达式

举例1:

select
	product_name,
    product_type,
    purchase_price
from 
	product
where
	product_name regexp '^T恤';  -- 查询以T恤开头的信息

SQL过滤数据_第12张图片
举例2:

select
	product_name,
    product_type,
    purchase_price
from 
	product
where
	product_name regexp '^[^[T恤]]';  -- 查询不以这个开头的信息
	

SQL过滤数据_第13张图片

你可能感兴趣的:(SQL取数boy,sql,数据库,mysql)