首先来构造数据

查询department里面name等于研发部的数据

 查询语句跟普通的sql语句差不多,也就是字段名要用到path表达式

select * from user u where u.department->'$.name' = '生产部'

 模糊查询

select * from user u where u.department->'$.name' like '%生产%'

查询department里面obj.title等于工程师的数据

select * from user u where u.department->'$.obj.title' = '工程师'

查询colors包含red的数据

需要用到json_contains函数,第一个参数是表的字段名,第二个参数是要查询的值,如果是字符串需要用双引号,第三个参数是path路径

select * from user u where JSON_CONTAINS(u.department,'"red"', '$.colors')

查询jobs里面的name包含经理的数据

select * from user u where u.department->'$.jobs[*].name' like '%经理%'

精确匹配

select * from user u where JSON_CONTAINS(u.department->'$.jobs[*].name','"经理"')

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐