mysql--LIKE关键字与IN关键字的组合查询实例讲解

上传人:m**** 文档编号:47218992 上传时间:2018-06-30 格式:DOCX 页数:5 大小:54.85KB
返回 下载 相关 举报
mysql--LIKE关键字与IN关键字的组合查询实例讲解_第1页
第1页 / 共5页
mysql--LIKE关键字与IN关键字的组合查询实例讲解_第2页
第2页 / 共5页
mysql--LIKE关键字与IN关键字的组合查询实例讲解_第3页
第3页 / 共5页
mysql--LIKE关键字与IN关键字的组合查询实例讲解_第4页
第4页 / 共5页
mysql--LIKE关键字与IN关键字的组合查询实例讲解_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《mysql--LIKE关键字与IN关键字的组合查询实例讲解》由会员分享,可在线阅读,更多相关《mysql--LIKE关键字与IN关键字的组合查询实例讲解(5页珍藏版)》请在金锄头文库上搜索。

1、mysql-LIKEmysql-LIKE 关键字与关键字与 ININ 关键字的组合查询实例讲解关键字的组合查询实例讲解根据在工作开发过程中遇到的场景,我通过 student 表、student_detail 表 来进行讲解我所写的一条 sql 语句。LIKE 关键字、IN 关键字、子查询、Mybatis 框架相互结合运用的案例。student 表? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26SET FOREIGN_KEY_CHECKS=0;- - - Table structure for stude

2、nt - - DROP TABLE IF EXISTS student; CREATE TABLE student (student_id varchar(20) NOT NULL COMMENT 主键-学生证号,name varchar(32) DEFAULT NULL COMMENT 姓名,age int(3) DEFAULT NULL COMMENT 年龄,sex int(1) DEFAULT 0 COMMENT 性别,0-男,1-女,create_time timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 创

3、建时间,PRIMARY KEY (student_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - - Records of student - - INSERT INTO student VALUES (st-011, 李辉, 12, 0, 2016-11-07 01:33:31);INSERT INTO student VALUES (st-012, 李俊云, 13, 0, 2015-06- 13 10:18:50); INSERT INTO student VALUES (st-013, 李红, 12, 1, 2017-07-02 11:04:27

4、);INSERT INTO student VALUES (st-024, 燕双玉, 12, 1, 2010-09- 29 18:12:58);INSERT INTO student VALUES (st-025, 刘彩霞, 12, 1, 2013-04- 04 15:39:01);INSERT INTO student VALUES (st-026, 王道清, 12, 0, 2018-08- 22 19:05:05);student_detail 表? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2

5、7 28 29 30 31 32SET FOREIGN_KEY_CHECKS=0;- - - Table structure for student_detail - - DROP TABLE IF EXISTS student_detail; CREATE TABLE student_detail (key_id varchar(20) NOT NULL COMMENT 主键 id,student_id varchar(20) DEFAULT NULL COMMENT 外键-学生证号,clazz_code varchar(12) DEFAULT NULL COMMENT 班级编号,addre

6、ss varchar(255) DEFAULT NULL COMMENT 地址,id_card varchar(18) DEFAULT NULL COMMENT 身份证号,type int(1) DEFAULT NULL COMMENT 是否住校, 0-住校,1-不住校,remark varchar(255) DEFAULT NULL COMMENT 说明,create_time timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 创建时间,PRIMARY KEY (key_id) ) ENGINE=InnoDB DE

7、FAULT CHARSET=utf8;- - - Records of student_detail 捕鱼游戏 - - INSERT INTO student_detail VALUES (te-001, st-011, clazz-01, 浙江省-杭州市-江干区-九堡-P 学校, 230227197603306919, 0, 测试数据01, 2018-06-21 20:54:26); INSERT INTO student_detail VALUES (te-002, st-011, clazz-05, 黑龙江省-齐齐哈尔市-富裕县-A 学校, 230227197603306919, 1,

8、测试数据02, 2018-06-21 20:54:27); INSERT INTO student_detail VALUES (te-003, st-011, clazz-02, 海南省-海口市-市辖区-B 学校, 230227197603306919, 0, 测试数据 03, 2018-06-21 20:54:28); INSERT INTO student_detail VALUES (te-004, st-012, clazz-03, 河北省-保定市-望都县-H 学校, 460101198404240179, 0, 测试数据 04, 2018-06-21 20:54:29); INSE

9、RT INTO student_detail VALUES (te-005, st-012, clazz-02, 浙江省-杭州市-江干区-九堡-G 学校, 460101198404240179, 1, 测试数据05, 2018-06-21 20:54:30); INSERT INTO student_detail VALUES (te-006, st-013, clazz-04, 四川省-德阳市-绵竹市-M 学校, 210904198302251924, 0, 测试数据 06, 2018-06-21 20:54:31); INSERT INTO student_detail VALUES (t

10、e-007, st-024, clazz-05, 辽宁省-阜新市-太平区-T 学校, 510683198606051145, 1, 测试数据 07, 2018-06-21 20:54:32); INSERT INTO student_detail VALUES (te-008, st-025, clazz-03, 湖北省-恩施土家族苗族自治州-建始县-J 校区, 422822197910045167, 1, 测试数据 08, 2018-06-21 20:54:33);INSERT INTO student_detail VALUES (te-009, st-025, clazz-01, 云南省

11、-大理白族自治州-大理市-D 校区, 422822197910045167, 0, 测试数据 09, 2018-06-21 20:54:34); INSERT INTO student_detail VALUES (te-010, st-026, clazz-03, 广东省-潮州市-饶平县-R 校, 320981198701232137, 0, 测试数据 10, 2018-06-21 20:54:35);棋牌评测网 INSERT INTO student_detail VALUES (te-011, st-026, clazz-04, 江苏省-盐城市-东台市-T 校, 320981198701

12、232137, 1, 测试数据 11, 2018-06-21 20:54:37);student 表是主表, student_detail 表是明细表。 student 表中的主键 student_id字段 与 student_detai 表中的 student_id 字段相关联。即 student 表中的 student_id字段 是 student_detail 表的外键。现在,根据 学生证号(student_id)、姓名(name)、年龄(age)、创建时间(create_time)、是否住校(type),来模糊查询 student 表中的学生信息。 学生证号、姓名、年龄、创建时间在 s

13、tudent 表中存在, 而“是否住校”是 student_detail 表中字段。根据以上的查询条件,我的思想是:根据 “是否住校“ 字段 在 student_detail 表中查询出 student_id 字段的一系列值。 把这些值放在 IN()函数中, 在 student 表中,根据 student_id 模糊查询。模糊查询使用的 LIKE 关键字与 IN 关键字组合使用。sql 语句如下:? 1 2 3 4 5 6 7 8 9 10 11SELECT student_id, name, age, sex, create_time FROM student WHEREstudent_id

14、 LIKE%st_01%AND student_id IN(SELECT student_id FROM student_detailWHERE type = 0 )AND name LIKE %李%AND age 10AND create_time BETWEEN 2015-06-01 AND 2017-06-01运行结果:与 Mybatis 框架中动态 sql 结合使用,代码如下:? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24SELECT student_id, name, age, sex, create_timeFROM studentAND student_id LIKE CONCAT(%, #student_id, %)AND student_id IN (SELECT student_id FROM student_detailAND type != 0AND type = 0)AND name LIKE CONCAT(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 数据库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号