暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL入门 | 如何查询特定的数据?

跟着小白学Python 2021-08-02
3948

点击上方蓝字关注我们,一起涨姿势!






最近疫情形势又严峻起来,大家一定要注意防护


上期我们学习了SQL入门 | 如何查询数据?》掌握了使用SELECT语句查询记录的方法。但是,很多时候,我们并不希望获得所有记录,而是根据条件选择性地获取指定条件的记录,因此,可以通过WHERE子句来查询满足条件的记录。


WHERE子句




WHERE子句的语法为:


SELECT 列
FROM 表
WHERE 列 运算符 值


以上次的数据库数据为例,我们希望找到购买数量为10的客户和类别,则可以输入:

SELECT
  "客户名称", "类别"
FROM
  "订单"
WHERE
"数量"=10


共查询到51条记录,示例如下:



WHERE子句操作符




除了使用“=”还有以下常用的操作符

如果我们需要查找数量大于10的客户和产品明细:

SELECT
  "客户名称",
  "产品名称",
  "数量" 
FROM
  "订单" 
WHERE
  "数量" > 10


输出如下:


同理,我们可以使用其他操作符来选取需要的数据

SELECT
  "客户名称","销售额"
FROM
  "订单" 
WHERE
  "销售额" BETWEEN 8000   AND 10000


可以查询到销售额在8000到10000的记录


其他用法也是类似的,我就不一一展示了。


WHERE子句高级用法




刚才的举例中我们可以使用BETWEEN进行范围的限定,但是当我们需要对不同的列进行限定时就需要其他的操作符了。


  • AND操作符,可以实现不止一个列的筛选

比如我们需要查找销售额大于8000并且客户姓名为佘凤的记录,可以输入:

SELECT
  "客户名称","销售额"
FROM
  "订单" 
WHERE
  "销售额" >8000 AND "客户名称"='佘凤'


输出如下:

  • OR操作符,查找的是只要条件满足其一的数据

我们把刚才的语句稍作修改

SELECT
  "客户名称","销售额"
FROM
  "订单" 
WHERE
  "销售额" >8000 OR "客户名称"='佘凤'


它输出的结果多了很多,因为只要满足条件之一即可,所以符合条件的就多了起来


  • IN操作符,查找的是满足给定范围的值的数据

比如使用以下语句可以查询客户名称是'刘斯云'或'洪梦'的记录

SELECT
  "客户名称","销售额"
FROM
  "订单" 
WHERE
  "客户名称" in ('刘斯云','洪梦')


输出如下


  • NOT操作符,用来对之后的操作进行相反的操作

以上一个查询为例,在其条件前增加NOT,就可以查找客户名称不是'刘斯云'或'洪梦'的记录

SELECT
  "客户名称",
  "销售额" 
FROM
  "订单" 
WHERE
  NOT "客户名称" IN ( '刘斯云', '洪梦' )


输出如下


今天主要学习了如何筛选满足特定条件的数据,感谢您关注和支持,点个赞再走呗。



扫码二维码获取更多精彩



点个在看你最好看

文章转载自跟着小白学Python,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论