前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL like子查询

SQL like子查询

作者头像
全栈程序员站长
发布2022-09-14 09:55:48
1.6K0
发布2022-09-14 09:55:48
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

like子查询

字符匹配:

  • % (百分号)任意字长度(可以为0)的字符
  • _(下横线)代表任意单个字符 eg:a%b表示以a开头,以b结尾的任意长度的字符。

三个常用的字符串截取函数:

  • substr(column,1,n)
  • left(column,n)
  • right(column,n)
代码语言:javascript
复制
str='abcdefg'
substr(str,1,3): 'bcd'
left(str,2): 'ab'
right(str,2) : 'fg'

下面举一个城市匹配的例子 表job_provinces结构

代码语言:javascript
复制
CREATE TABLE `job_provinces` ( `id` int(11) NOT NULL AUTO_INCREMENT, `code` int(11) NOT NULL, `name` varchar(50) NOT NULL, PRIMARY KEY (`id`) )CHARSET=utf8

表provinces结构

代码语言:javascript
复制
CREATE TABLE `provinces` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(11) DEFAULT NULL, PRIMARY KEY (`id`) ) CHARSET=utf8

现在从job_provinces中查找与provinces对应编号为1的省份的的code值

代码语言:javascript
复制
SELECT a.code from job_provinces a WHERE LEFT(a.name,2) LIKE LEFT((SELECT name from provinces WHERE id = 1),2)

同样可以定义存储过程来完成数据更改

代码语言:javascript
复制
BEGIN declare i int;
    set i=1;
    while i<35 do UPDATE univs set pid = (SELECT a.code from job_provinces a WHERE LEFT(a.name,2) LIKE LEFT((SELECT name from provinces WHERE id = i),2) ) WHERE pid = i;
         set i=i+1;
    end while;
END

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158829.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • like子查询
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档