目录
源数据表
姓名 | 部门 | 入职日期 |
刘星 | 生产部 | 1992/10/4 |
罗大吴 | 生产部 | 2009/7/21 |
吴宏艳 | 行政管理部 | 1993/4/7 |
陈星 | 行政管理部 | 1990/10/1 |
罗文 | 行政管理部 | 2006/4/1 |
张大亮 | 生产部 | 2009/8/7 |
柳香香 | 生产部 | 1983/11/1 |
张汶 | 行政管理部 | 1985/12/1 |
张正难 | 销售部 | 1984/5/1 |
张正宏 | 财务部 | 2006/4/24 |
吴小丽 | 行政管理部 | 2002/9/16 |
柳文明 | 行政管理部 | 2005/8/24 |
吴华 | 行政管理部 | 2006/10/16 |
柳生风 | 行政管理部 | 2003/8/13 |
陈明明 | 行政管理部 | 2004/2/2 |
黄文风 | 销售部 | 2004/7/1 |
梁先丽 | 生产部 | 2004/7/19 |
赵正云 | 生产部 | 2004/6/3 |
王重阳 | 财务部 | 2008/3/11 |
张通 | 财务部 | 2006/10/10 |
周星星 | 财务部 | 1982/12/1 |
陈正明 | 行政管理部 | 1984/5/30 |
古凤 | 行政管理部 | 1994/4/1 |
周正亮 | 生产部 | 2007/3/8 |
刘吴薪 | 生产部 | 2009/9/16 |
吴明丽 | 销售部 | 2007/8/22 |
朱丽丽 | 生产部 | 2006/6/1 |
陈昆 | 总经办 | 2006/1/1 |
赵香华 | 生产部 | 2009/7/1 |
吴芳华 | 生产部 | 2010/9/10 |
赵应芳 | 销售 | 2010/8/30 |
吴风 | 财务部 | 1992/10/4 |
陈正雄 | 财务部 | 2009/7/21 |
朱华丽 | 财务部 | 1993/4/7 |
闰关 | 行政管理部 | 1990/10/1 |
周泰 | 销售部 | 2006/4/1 |
欧阳正雄 | 生产部 | 2009/8/7 |
张文 | 生产部 | 1983/11/1 |
吴芳芳 | 行政管理部 | 1985/12/1 |
李英 | 销售部 | 1984/5/1 |
赵大年 | 行政管理部 | 2006/4/24 |
赵明宝 | 行政管理部 | 2002/9/16 |
吴正明 | 行政管理部 | 2005/8/24 |
刘倩倩 | 行政管理部 | 2006/10/16 |
张傅文 | 行政管理部 | 2003/8/13 |
SQL查询应用中,经常需要用到模糊查询的方式。如图所示为某公司的员工名单,该表格中包括了员工姓名、部门、入职日期等信息。SQL查询该名单中所有姓“刘”的员工。
解决方案
利用SQL的LIKE运算符可以进行模糊匹配查询。
SELECT *
FROM [sheet1$]
WHERE 姓名 LIKE '刘%'
运用LIKE进行模糊匹配
等号运算符用于精确匹配的情形。而本例中要找出所有“刘”姓的员工,由于无法得知“刘”姓员工的名字,而且“刘”姓员工的名字都不一致,因而无法通过等号运算进行查询,此时需
要用到模糊查询。在SQL查询中LIKE运算符可以用于模糊查询,具体的语法如下:
expr LIKE pattern
参数expr表示用于标识包含要计算的数据的字段,即用于匹配的字段。
参数pattem表示匹配模式。匹配模式是包括含有通配符的字符。
模糊匹配中不确定长度的字符表示
在Excel SQL的LIKE运算中,百分号(%)用来表示任意长度的任意字符。
在匹配模式中,可以使用多个百分号,但连续的百分号与一个百分号是等效的。如“刘%%”与“刘%”是等效的,都表示以“刘”开头的任意文本。
百分号的位置可以是任意的,但其含义是各不相同的。如“%刘”和“刘%”以及“%刘%”代表不同的含义,分别代表以“刘”结尾的文本、以“刘”开头的文本,含有“刘”
的文本。
匹配模式中可以使用多个指定的文本。如“刘%星%”,表示以“刘”开头且剩余字符中含有“星”字的文本。