sql基础语法,谓词

所谓谓词就是返回值是真值的词
01模糊查询–like
如果只需要确定一部分内容,使用谓词like

SELECT*
FROM SampleLike
WHERE strcol LIKE 'ddd%'

在这里插入图片描述
%代表任意字符,%在开头,代表以。。。结尾的字符
%在末尾代表,以。。。。开头的字符。%在两边代表与中间一致的字符

SELECT*
FROM SampleLike
WHERE strcol LIKE 'ddd___'

在这里插入图片描述
-也可以起到占位的作用,但是仅能代表一个字符
小结:%–选择;-填空
02范围查询–between
格式:
参数1 between 参数2 and 参数3
between与其他函数或者谓词不同的是他使用了三个参数

SELECT product_name,sale_price
FROM PRODUCT
WHERE sale_price BETWEEN 100 AND 1000

三个参数分别为sale_price 100 1000
注意这里是包含临界值100和1000的如果不想包含需要使用<和>
在这里插入图片描述

SELECT product_name,sale_price
FROM PRODUCT
WHERE sale_price>100
AND sale_price<1000

在这里插入图片描述
03IN谓词–or的简单用法
3.1在范围内快速选择
格式:in(字段1,字段2,字段3.。。。。)

SELECT product_name,purchase_price
FROM PRODUCT
WHERE purchase_price IN (320,500,5000)

如果选择不在范围内的使用not in
在这里插入图片描述

SELECT product_name,purchase_price
FROM PRODUCT
WHERE purchase_price  NOT IN (320,500,5000)

在这里插入图片描述
3.2使用子查询作为in谓词参数

SELECT product_name,sale_price
FROM   Product
WHERE  product_id IN(SELECT product_id
                     FROM ShopProduct
                     WHERE shop_id='000a')

在这里插入图片描述
如果想要选择不在该子查询中的内容,可以使用not in
使用子查询作为in的条件,好处就是如果商品发生改变,只需要改变子查询内容,如果没有子查询就需要没完没了的修改select语句。
04谓词–exists
exist只关心表中是否有满足条件的记录,并不关心返回了什么值。如果有满足条件的记录返回true。
exist区别于其他的只有一个参数,就是关联子查询。

SELECT product_name,sale_price
FROM PRODUCT AS P
WHERE EXISTS (SELECT*
              FROM ShopProduct AS SP
              WHERE SP.shop_id = '000a'
              AND SP.product_id= P.product_id)

在这里插入图片描述
这里可以认为在exists的子查询中使用select*from是种习惯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值