码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MySQL过滤数据知识点 + 关键字DISTINCT + 牛客-SQL必知必会-03过滤数据篇:SQL67-70 + 04高级数据过滤篇:SQL71-74


    目录

    • 过滤数据知识点
      • 基本语法
      • 注意点
    • 关键字 DISTINCT
    • 运算符 LIKE
    • 题目链接
    • 03 过滤数据篇
      • SQL 67 返回固定价格的产品
        • 答案
      • SQL 68 返回更高价格的产品
        • 答案
      • SQL 69 返回产品并按照价格排序
        • 答案一:使用 BETWEEN ... AND ...
        • 答案二:使用运算符
      • 有些歧义:SQL 70 返回更多的产品
        • 答案一(我的答案)
        • 答案二(别人的思路)
    • 04 高级数据过滤篇
      • SQL 71 检索供应商名称
        • 答案
      • SQL 72 检索并列出已订购产品的清单
        • 答案
      • SQL 73 返回所有价格在 3美元到 6美元之间的产品的名称和价格
        • 答案一:使用BETWEEN ... AND ...
        • 答案二:使用运算符
      • SQL 74 纠错2
        • 答案
    • 05 使用通配符进行过滤
      • SQL 75 检索产品名称和描述(一)
        • 答案一:LIKE
        • 答案二:REGEXP
      • SQL 76 检索产品名称和描述(二)
        • 答案
      • SQL 77 检索产品名称和描述(三)
        • 答案
      • SQL 78 检索产品名称和描述(四)
        • 答案


    过滤数据知识点

    基本语法

    select 字段1,字段2
    from 表名
    where 过滤条件
    
    • 1
    • 2
    • 3

    注意点

    • 使用WHERE子句,将不满足条件的行过滤掉
    • WHERE子句应紧跟FROM子句

    关键字 DISTINCT

    • 默认情况下,查询会返回全部行,包括重复行
    • 在SELECT语句中使用DISTINCT去除重复行
    • DISTINCT需要放在所有列名的前面,如果写成以下形式,会报错!!!
    select 字段1,distinct 字段2 from 表名
    
    • 1
    • DISTINCT是对后面所有列名的组合进行去重

    运算符 LIKE

    • LIKE运算符主要用于匹配字符串,通常用于模糊匹配
      • 如果满足条件,则返回1
      • 不满足条件,返回0
    • LIKE运算符通常使用如下通配符
    % : 匹配0个或多个字符
    _ : 只能匹配一个字符
    
    • 1
    • 2

    题目链接

    https://www.nowcoder.com/exam/oj/ta?tpId=298


    03 过滤数据篇

    SQL 67 返回固定价格的产品

    在这里插入图片描述

    答案

    select prod_id,prod_name
    from Products
    where prod_price = 9.49;
    
    • 1
    • 2
    • 3

    SQL 68 返回更高价格的产品

    在这里插入图片描述

    答案

    select prod_id,prod_name
    from Products
    where prod_price >= 9;
    
    • 1
    • 2
    • 3

    SQL 69 返回产品并按照价格排序

    在这里插入图片描述

    答案一:使用 BETWEEN … AND …

    select prod_name,prod_price
    from Products
    where prod_price between 3 and 6
    order by prod_price;
    
    • 1
    • 2
    • 3
    • 4

    答案二:使用运算符

    select prod_name,prod_price
    from Products
    where prod_price >= 3 and prod_price <= 6
    order by prod_price;
    
    • 1
    • 2
    • 3
    • 4

    有些歧义:SQL 70 返回更多的产品

    在这里插入图片描述

    答案一(我的答案)

    select distinct order_num
    from OrderItems
    where quantity >= 100;
    
    • 1
    • 2
    • 3

    答案二(别人的思路)

    按照order_num订单号进行分组,分组以后的订单号中最大产品数量>=100的订单号

    select order_num 
    from OrderItems 
    group by order_num 
    having max(quantity)  >= 100
    
    • 1
    • 2
    • 3
    • 4

    04 高级数据过滤篇

    SQL 71 检索供应商名称

    在这里插入图片描述

    答案

    select vend_name
    from Vendors
    where vend_country = 'USA' and vend_state = 'CA';
    
    • 1
    • 2
    • 3

    SQL 72 检索并列出已订购产品的清单

    在这里插入图片描述
    在这里插入图片描述

    答案

    select order_num, prod_id, quantity
    from OrderItems
    where prod_id in ('BR01','BR02','BR03') and quantity >= 100;
    
    • 1
    • 2
    • 3

    SQL 73 返回所有价格在 3美元到 6美元之间的产品的名称和价格

    在这里插入图片描述

    答案一:使用BETWEEN … AND …

    select prod_name, prod_price
    from Products
    where prod_price between 3 and 6
    order by prod_price asc;
    
    • 1
    • 2
    • 3
    • 4

    答案二:使用运算符

    select prod_name, prod_price
    from Products
    where prod_price >= 3 and prod_price <= 6
    order by prod_price asc;
    
    • 1
    • 2
    • 3
    • 4

    SQL 74 纠错2

    在这里插入图片描述

    答案

    SELECT vend_name 
    FROM Vendors 
    WHERE vend_country = 'USA' AND vend_state = 'CA'
    ORDER BY vend_name;
    
    • 1
    • 2
    • 3
    • 4

    WHERE和ORDER BY同时出现时,WHERE要紧跟FROM,ORDER BY往后放

    05 使用通配符进行过滤

    SQL 75 检索产品名称和描述(一)

    在这里插入图片描述

    答案一:LIKE

    select prod_name, prod_desc
    from Products
    where prod_desc like '%toy%';
    
    • 1
    • 2
    • 3

    答案二:REGEXP

    select prod_name, prod_desc
    from Products
    where prod_desc regexp 'toy';
    
    • 1
    • 2
    • 3

    SQL 76 检索产品名称和描述(二)

    在这里插入图片描述

    答案

    select prod_name, prod_desc
    from Products
    where prod_desc not like '%toy%'
    order by prod_desc desc;
    
    • 1
    • 2
    • 3
    • 4

    SQL 77 检索产品名称和描述(三)

    在这里插入图片描述

    答案

    这一题需要注意题目要求,两个LIKE和一个AND

    select prod_name, prod_desc
    from Products
    where prod_desc like '%toy%' and prod_desc like '%carrots%';
    
    • 1
    • 2
    • 3

    SQL 78 检索产品名称和描述(四)

    在这里插入图片描述

    答案

    注意题目要求,只需要使用三个%和一个LIKE

    select prod_name, prod_desc
    from Products
    where prod_desc like '%toy%carrots%';
    
    • 1
    • 2
    • 3
  • 相关阅读:
    Java @NotBlank反射校验
    神经网络怎么看训练效果,神经网络常用训练方法
    ROS2知识:编译系统ament_cmake
    Sonatype Nexus 如何把多仓库合并在一起
    分享一个docker无法启动的小问题
    mysql查看连接池的命令
    01.5.Binding
    聊一下Glove
    【GD32F427开发板试用】FreeRTOS移植工程
    条件随机场与概率无向图因子分解参数化形式(一)
  • 原文地址:https://blog.csdn.net/guliguliguliguli/article/details/126096065
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号