MySQL(B站CodeWithMosh)——2024.9.30(3)

ZZZZZZ目的
ZZZZZZ代码
ZZZZZZ重点
ZZZZZZ操作(非代码,需要自己手动)

5- IN运算符 | The IN Operator_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=11&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. 输出住在VA、GA、FL的顾客数据
    SELECT *
    FROM customers
    WHERE state = 'VA' OR state = 'GA' OR state = 'FL'

    在MySQL中,在用OR、AND类的运算符连接时,需要将条件完整的写出来,不能像下面这样写:
    WHERE state = 'VA' OR 'GA' OR 'FL'
    如果像上面这样写的话,虽然不会报错,但是输出会有问题,所以还可以用IN运算符来表达
    WHERE state IN ('VA', 'FL', 'GA')
  2. 想要不是在VA、FL、GA的顾客数据可以将NOT和IN结合起来
    WHERE state NOT IN ('VA', 'FL', 'GA')
    WHERE state NOT IN ('VA', 'GA', 'FL')

【练习题】
查询现货库存数量为49、38和72的产品
SELECT * FROM sql_store.products
WHERE quantity_in_stock IN (49, 38, 72)

6- BETWEEN运算符 | The BETWEEN Operator_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=12&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. 查询积分在1000-3000之间的顾客
    SELECT *
    FROM customers
    WHERE points >= 1000 AND points <= 3000

    或者
    WHERE points BETWEEN 1000 AND 3000

【练习题】
查询在1990年1月1日至2000年1月1日出生的顾客

WHERE birth_date BETWEEN '1990-01-01' AND '2001-01-01'

7- LIKE运算符 | The LIKE Operator_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=13&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. 输出姓氏以“B”开头的顾客
    WHERE last_name LIKE 'b%'

    这里的B用大写或者小写都可以,“%”表示后面的是什么字符都可以
  2. 输出姓氏以“Brush”开头的顾客
    WHERE last_name LIKE 'brush%'
  3. 输出姓氏中有“B”的顾客
    WHERE last_name LIKE '%b%'
    注意这里的'%b%'不是代表姓氏中间有b,而是姓氏中有b
  4. 输出姓氏以“y”结尾的顾客
    WHERE last_name LIKE '%y'
  5. 输出姓氏为六个字的,且以y结尾的顾客
    WHERE last_name LIKE '_____y'
  6. 输出姓氏为六个字的,且以b开头、y结尾的顾客
    WHERE last_name LIKE 'b____y'

    总结:“%“代表任何字符数,”_“代表一个单字符

【练习题】

  1. 输出住址包含”TRAIL“或者”AVENUE“的顾客
    WHERE  address LIKE '%trail%' OR address LIKE '%AVENUE%'
  2. 输出手机号以9为结尾的顾客
    WHERE phone LIKE '%9'
  3. 输出手机号不是以9为结尾的顾客
    WHERE phone NOT LIKE '%9'

8- REGEXP运算符 | The REGEXP Operator_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=14&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. 输出姓氏中包含”field“的顾客
    WHERE last_name LIKE '%field%'
    或者
    WHERE last_name REGEXP 'field'
    这里的REGEXP是regular expression的缩写,是正则表达式的意思
  2. 输出姓氏中以”field“开头的顾客
    WHERE last_name REGEXP '^field'
  3. 输出姓氏以”field“结尾的顾客
    WHERE last_name REGEXP 'field$'
  4. 输出姓氏中包含”field“或者”mac“的顾客
    WHERE last_name REGEXP 'field|mac'
  5. 输出姓氏中包含”field“或者”mac“或者”rose“的顾客
    WHERE last_name REGEXP 'field|mac|rose'

    可以使用”|“表示多个搜寻模式
  6. 输出姓氏以”field“开头,或者包含”mac“,或者包含”rose“的顾客
    WHERE last_name REGEXP '^field|mac|rose'
  7. 输出姓氏中包含”e“,且e的前面有字母”g”或者“i”或者“m”的顾客
    WHERE last_name REGEXP '[gim]e'
  8. 输出姓氏中包含”e“,且e的前面有字母”abcdefgh”的顾客
    WHERE last_name REGEXP '[a-h]e'

    总结,“^”代表字符串开头,“$”代表字符串结尾,“|”代表逻辑上的OR,“[abcd]”可以匹配任意在括号里列举的单字符,‘[a-h]"表示从a到h的范围,

【练习题】
输出包含以下特点的顾客:

  1. 名是”ELKA“或者”AMBUR“
    WHERE first_name REGEXP 'ELKA|AMBUR'
  2. 姓氏以”EY“或者”ON“结尾
    WHERE last_name REGEXP 'EY$|ON$'
  3. 姓氏以MY开头,或者包含”SE“
    WHERE last_name REGEXP '^MY|SE'
  4. 姓氏包含“B”,“B”后面有“R”或者”U“
    WHERE last_name REGEXP 'b[ru]'
    或者
    WHERE last_name REGEXP 'br|bu'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值