SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句,整理一份《精妙SQL速查手册》,不吝赐教!
1、说明:创建数据库
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">CREATE</span><span> </span><span class="keyword">DATABASE</span><span> </span><span class="keyword">database</span><span>-</span><span class="keyword">name</span><span> </span></span></li></ol> |
2、说明:删除数据库
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">drop</span><span> </span><span class="keyword">database</span><span> dbname </span></span></li></ol> |
3、说明:备份sql server
1 |
<ol class="dp-sql"><li class="alt"><span><span class="comment">--- 创建 备份数据的 device</span><span> </span></span></li><li><span>USE master </span></li><li class="alt"><span><span class="keyword">EXEC</span><span> sp_addumpdevice </span><span class="string">'disk'</span><span>, </span><span class="string">'testBack'</span><span>, </span><span class="string">'c:\mssql7backup\MyNwind_1.dat'</span><span> </span></span></li><li><span><span class="comment">--- 开始 备份</span><span> </span></span></li><li class="alt"><span>BACKUP <span class="keyword">DATABASE</span><span> pubs </span><span class="keyword">TO</span><span> testBack </span></span></li></ol> |
4、说明:创建新表
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">create</span><span> </span><span class="keyword">table</span><span> tabname(col1 type1 [</span><span class="op">not</span><span> </span><span class="op">null</span><span>] [</span><span class="keyword">primary</span><span> </span><span class="keyword">key</span><span>],col2 type2 [</span><span class="op">not</span><span> </span><span class="op">null</span><span>],..) </span></span></li><li><span><span class="comment">-------根据已有的表创建新表:</span><span> </span></span></li><li class="alt"><span>A:<span class="keyword">create</span><span> </span><span class="keyword">table</span><span> tab_new </span><span class="op">like</span><span> tab_old (使用旧表创建新表) </span></span></li><li><span>B:<span class="keyword">create</span><span> </span><span class="keyword">table</span><span> tab_new </span><span class="keyword">as</span><span> </span><span class="keyword">select</span><span> col1,col2… </span><span class="keyword">from</span><span> tab_old definition </span><span class="keyword">only</span><span> </span></span></li></ol> |
5、说明:删除新表
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">drop</span><span> </span><span class="keyword">table</span><span> tabname </span></span></li></ol> |
6、说明:增加一个列
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">Alter</span><span> </span><span class="keyword">table</span><span> tabname </span><span class="keyword">add</span><span> </span><span class="keyword">column</span><span> col type </span></span></li></ol> |
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">Alter</span><span> </span><span class="keyword">table</span><span> tabname </span><span class="keyword">add</span><span> </span><span class="keyword">primary</span><span> </span><span class="keyword">key</span><span>(col) </span></span></li></ol> |
说明:删除主键
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">Alter</span><span> </span><span class="keyword">table</span><span> tabname </span><span class="keyword">drop</span><span> </span><span class="keyword">primary</span><span> </span><span class="keyword">key</span><span>(col) </span></span></li></ol> |
8、说明:创建索引
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">create</span><span> [</span><span class="keyword">unique</span><span>] </span><span class="keyword">index</span><span> idxname </span><span class="keyword">on</span><span> tabname(col….) </span></span></li></ol> |
说明:删除索引
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">drop</span><span> </span><span class="keyword">index</span><span> idxname </span></span></li></ol> |
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">create</span><span> </span><span class="keyword">view</span><span> viewname </span><span class="keyword">as</span><span> </span><span class="keyword">select</span><span> statement </span></span></li></ol> |
说明:删除视图
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">drop</span><span> </span><span class="keyword">view</span><span> viewname </span></span></li></ol> |
10、说明:几个简单的基本的sql语句
1 |
<ol class="dp-sql"><li class="alt"><span><span>选择:</span><span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> table1 </span><span class="keyword">where</span><span> 范围 </span></span></li><li><span>插入:<span class="keyword">insert</span><span> </span><span class="keyword">into</span><span> table1(field1,field2) </span><span class="keyword">values</span><span>(value1,value2) </span></span></li><li class="alt"><span>删除:<span class="keyword">delete</span><span> </span><span class="keyword">from</span><span> table1 </span><span class="keyword">where</span><span> 范围 </span></span></li><li><span>更新:<span class="keyword">update</span><span> table1 </span><span class="keyword">set</span><span> field1=value1 </span><span class="keyword">where</span><span> 范围 </span></span></li><li class="alt"><span>查找:<span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> table1 </span><span class="keyword">where</span><span> field1 </span><span class="op">like</span><span> ’%value1%’ </span><span class="comment">---like的语法很精妙,查资料!</span><span> </span></span></li><li><span>排序:<span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> table1 </span><span class="keyword">order</span><span> </span><span class="keyword">by</span><span> field1,field2 [</span><span class="keyword">desc</span><span>] </span></span></li><li class="alt"><span>总数:<span class="keyword">select</span><span> </span><span class="func">count</span><span> </span><span class="keyword">as</span><span> totalcount </span><span class="keyword">from</span><span> table1 </span></span></li><li><span>求和:<span class="keyword">select</span><span> </span><span class="func">sum</span><span>(field1) </span><span class="keyword">as</span><span> sumvalue </span><span class="keyword">from</span><span> table1 </span></span></li><li class="alt"><span>平均:<span class="keyword">select</span><span> </span><span class="func">avg</span><span>(field1) </span><span class="keyword">as</span><span> avgvalue </span><span class="keyword">from</span><span> table1 </span></span></li><li><span>最大:<span class="keyword">select</span><span> </span><span class="keyword">max</span><span>(field1) </span><span class="keyword">as</span><span> maxvalue </span><span class="keyword">from</span><span> table1 </span></span></li><li class="alt"><span>最小:<span class="keyword">select</span><span> </span><span class="keyword">min</span><span>(field1) </span><span class="keyword">as</span><span> minvalue </span><span class="keyword">from</span><span> table1 </span></span></li></ol> |
11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left outer join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full outer join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
1 |
<ol class="dp-sql"><li class="alt"><span><span>法一:</span><span class="keyword">select</span><span> * </span><span class="keyword">into</span><span> b </span><span class="keyword">from</span><span> a </span><span class="keyword">where</span><span> 1<>1 </span></span></li><li><span>法二:<span class="keyword">select</span><span> </span><span class="keyword">top</span><span> 0 * </span><span class="keyword">into</span><span> b </span><span class="keyword">from</span><span> a </span></span></li></ol> |
2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">insert</span><span> </span><span class="keyword">into</span><span> b(a, b, c) </span><span class="keyword">select</span><span> d,e,f </span><span class="keyword">from</span><span> b; </span></span></li></ol> |
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">insert</span><span> </span><span class="keyword">into</span><span> b(a, b, c) </span><span class="keyword">select</span><span> d,e,f </span><span class="keyword">from</span><span> b </span><span class="op">in</span><span> ‘具体数据库’ </span><span class="keyword">where</span><span> 条件 </span></span></li></ol> |
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
4、说明:子查询(表名1:a 表名2:b)
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> a,b,c </span><span class="keyword">from</span><span> a </span><span class="keyword">where</span><span> a </span><span class="op">IN</span><span> (</span><span class="keyword">select</span><span> d </span><span class="keyword">from</span><span> b ) 或者: </span><span class="keyword">select</span><span> a,b,c </span><span class="keyword">from</span><span> a </span><span class="keyword">where</span><span> a </span><span class="op">IN</span><span> (1,2,3) </span></span></li></ol> |
5、说明:显示文章、提交人和最后回复时间
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> a.title,a.username,b.adddate </span><span class="keyword">from</span><span> </span><span class="keyword">table</span><span> a,(</span><span class="keyword">select</span><span> </span><span class="keyword">max</span><span>(adddate) adddate </span><span class="keyword">from</span><span> </span><span class="keyword">table</span><span> </span><span class="keyword">where</span><span> </span><span class="keyword">table</span><span>.title=a.title) b </span></span></li></ol> |
6、说明:外连接查询(表名1:a 表名2:b)
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> a.a, a.b, a.c, b.c, b.d, b.f </span><span class="keyword">from</span><span> a </span><span class="func">LEFT</span><span> </span><span class="keyword">OUT</span><span> </span><span class="op">JOIN</span><span> b </span><span class="keyword">ON</span><span> a.a = b.c </span></span></li></ol> |
7、说明:在线视图查询(表名1:a )
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> (</span><span class="keyword">SELECT</span><span> a,b,c </span><span class="keyword">FROM</span><span> a) T </span><span class="keyword">where</span><span> t.a > 1; </span></span></li></ol> |
8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> table1 </span><span class="keyword">where</span><span> </span><span class="keyword">time</span><span> </span><span class="op">between</span><span> time1 </span><span class="op">and</span><span> time2 </span></span></li><li><span><span class="keyword">select</span><span> a,b,c, </span><span class="keyword">from</span><span> table1 </span><span class="keyword">where</span><span> a </span><span class="op">not</span><span> </span><span class="op">between</span><span> 数值1 </span><span class="op">and</span><span> 数值2 </span></span></li></ol> |
9、说明:in 的使用方法
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> table1 </span><span class="keyword">where</span><span> a [</span><span class="op">not</span><span>] </span><span class="op">in</span><span> (‘值1’,’值2’,’值4’,’值6’) </span></span></li></ol> |
10、说明:两张关联表,删除主表中已经在副表中没有的信息
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">delete</span><span> </span><span class="keyword">from</span><span> table1 </span><span class="keyword">where</span><span> </span><span class="op">not</span><span> exists ( </span><span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> table2 </span><span class="keyword">where</span><span> table1.field1=table2.field1 ) </span></span></li></ol> |
11、说明:四表联查问题:
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> a </span><span class="func">left</span><span> </span><span class="keyword">inner</span><span> </span><span class="op">join</span><span> b </span><span class="keyword">on</span><span> a.a=b.b </span><span class="func">right</span><span> </span><span class="keyword">inner</span><span> </span><span class="op">join</span><span> c </span><span class="keyword">on</span><span> a.a=c.c </span><span class="keyword">inner</span><span> </span><span class="op">join</span><span> d </span><span class="keyword">on</span><span> a.a=d.d </span><span class="keyword">where</span><span> ..... </span></span></li></ol> |
12、说明:日程安排提前五分钟提醒
1 |
<ol class="dp-sql"><li class="alt"><span><span>SQL: </span><span class="keyword">select</span><span> * </span><span class="keyword">from</span><span> 日程安排 </span><span class="keyword">where</span><span> datediff(</span><span class="string">'minute'</span><span>,f开始时间,getdate())>5 </span></span></li></ol> |
13、说明:一条sql 语句搞定数据库分页
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> </span><span class="keyword">top</span><span> 10 b.* </span><span class="keyword">from</span><span> (</span><span class="keyword">select</span><span> </span><span class="keyword">top</span><span> 20 主键字段,排序字段 </span><span class="keyword">from</span><span> 表名 </span><span class="keyword">order</span><span> </span><span class="keyword">by</span><span> 排序字段 </span><span class="keyword">desc</span><span>) a,表名 b </span><span class="keyword">where</span><span> b.主键字段 = a.主键字段 </span><span class="keyword">order</span><span> </span><span class="keyword">by</span><span> a.排序字段 </span></span></li></ol> |
14、说明:前10条记录
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> </span><span class="keyword">top</span><span> 10 * form table1 </span><span class="keyword">where</span><span> 范围 </span></span></li></ol> |
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> a,b,c </span><span class="keyword">from</span><span> tablename ta </span><span class="keyword">where</span><span> a=(</span><span class="keyword">select</span><span> </span><span class="keyword">max</span><span>(a) </span><span class="keyword">from</span><span> tablename tb </span><span class="keyword">where</span><span> tb.b=ta.b) </span></span></li></ol> |
16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
1 |
<ol class="dp-sql"><li class="alt"><span><span>(</span><span class="keyword">select</span><span> a </span><span class="keyword">from</span><span> tableA ) </span><span class="keyword">except</span><span> (</span><span class="keyword">select</span><span> a </span><span class="keyword">from</span><span> tableB) </span><span class="keyword">except</span><span> (</span><span class="keyword">select</span><span> a </span><span class="keyword">from</span><span> tableC) </span></span></li></ol> |
17、说明:随机取出10条数据
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> </span><span class="keyword">top</span><span> 10 * </span><span class="keyword">from</span><span> tablename </span><span class="keyword">order</span><span> </span><span class="keyword">by</span><span> newid() </span></span></li></ol> |
18、说明:随机选择记录
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> newid() </span></span></li></ol> |
19、说明:删除重复记录
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">Delete</span><span> </span><span class="keyword">from</span><span> tablename </span><span class="keyword">where</span><span> id </span><span class="op">not</span><span> </span><span class="op">in</span><span> (</span><span class="keyword">select</span><span> </span><span class="keyword">max</span><span>(id) </span><span class="keyword">from</span><span> tablename </span><span class="keyword">group</span><span> </span><span class="keyword">by</span><span> col1,col2,...) </span></span></li></ol> |
20、说明:列出数据库里所有的表名
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> </span><span class="keyword">name</span><span> </span><span class="keyword">from</span><span> sysobjects </span><span class="keyword">where</span><span> type=</span><span class="string">'U'</span><span> </span></span></li></ol> |
21、说明:列出表里的所有的
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> </span><span class="keyword">name</span><span> </span><span class="keyword">from</span><span> syscolumns </span><span class="keyword">where</span><span> id=object_id(</span><span class="string">'TableName'</span><span>) </span></span></li></ol> |
22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> type,</span><span class="func">sum</span><span>(</span><span class="func">case</span><span> vender </span><span class="keyword">when</span><span> </span><span class="string">'A'</span><span> </span><span class="keyword">then</span><span> pcs </span><span class="keyword">else</span><span> 0 </span><span class="keyword">end</span><span>),</span><span class="func">sum</span><span>(</span><span class="func">case</span><span> vender </span><span class="keyword">when</span><span> </span><span class="string">'C'</span><span> </span><span class="keyword">then</span><span> pcs </span><span class="keyword">else</span><span> 0 </span><span class="keyword">end</span><span>),</span><span class="func">sum</span><span>(</span><span class="func">case</span><span> vender </span><span class="keyword">when</span><span> </span><span class="string">'B'</span><span> </span><span class="keyword">then</span><span> pcs </span><span class="keyword">else</span><span> 0 </span><span class="keyword">end</span><span>) </span><span class="keyword">FROM</span><span> tablename </span><span class="keyword">group</span><span> </span><span class="keyword">by</span><span> type </span></span></li><li><span> </span></li><li class="alt"><span>显示结果: </span></li><li><span> </span></li><li class="alt"><span>type vender pcs </span></li><li><span> </span></li><li class="alt"><span>电脑 A 1 </span></li><li><span> </span></li><li class="alt"><span>电脑 A 1 </span></li><li><span> </span></li><li class="alt"><span>光盘 B 2 </span></li><li><span> </span></li><li class="alt"><span>光盘 A 2 </span></li><li><span> </span></li><li class="alt"><span>手机 B 3 </span></li><li><span> </span></li><li class="alt"><span>手机 C 3 </span></li></ol> |
23、说明:初始化表table1
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">TRUNCATE</span><span> </span><span class="keyword">TABLE</span><span> table1 </span></span></li></ol> |
24、说明:选择从10到15的记录
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">select</span><span> </span><span class="keyword">top</span><span> 5 * </span><span class="keyword">from</span><span> (</span><span class="keyword">select</span><span> </span><span class="keyword">top</span><span> 15 * </span><span class="keyword">from</span><span> </span><span class="keyword">table</span><span> </span><span class="keyword">order</span><span> </span><span class="keyword">by</span><span> id </span><span class="keyword">asc</span><span>) table_别名 </span><span class="keyword">order</span><span> </span><span class="keyword">by</span><span> id </span><span class="keyword">desc</span><span> </span></span></li></ol> |
1、1=1,1=2的使用,在SQL语句组合时用的较多
1 |
<ol class="dp-sql"><li class="alt"><span><span>“</span><span class="keyword">where</span><span> 1=1” 是表示选择全部 “</span><span class="keyword">where</span><span> 1=2”全部不选, </span></span></li><li><span> </span></li><li class="alt"><span>如: </span></li><li><span>if @strWhere !=<span class="string">''</span><span> </span></span></li><li class="alt"><span><span class="keyword">begin</span><span> </span></span></li><li><span><span class="keyword">set</span><span> @strSQL = </span><span class="string">'select count(*) as Total from ['</span><span> + @tblName + </span><span class="string">'] where '</span><span> + @strWhere </span></span></li><li class="alt"><span><span class="keyword">end</span><span> </span></span></li><li><span><span class="keyword">else</span><span> </span></span></li><li class="alt"><span><span class="keyword">begin</span><span> </span></span></li><li><span><span class="keyword">set</span><span> @strSQL = </span><span class="string">'select count(*) as Total from ['</span><span> + @tblName + </span><span class="string">']'</span><span> </span></span></li><li class="alt"><span><span class="keyword">end</span><span> </span></span></li><li><span>我们可以直接写成 </span></li><li class="alt"><span><span class="keyword">set</span><span> @strSQL = </span><span class="string">'select count(*) as Total from ['</span><span> + @tblName + </span><span class="string">'] where 1=1 安定 '</span><span>+ @strWhere </span></span></li></ol> |
2、收缩数据库
1 |
<ol class="dp-sql"><li class="alt"><span><span class="comment">--重建索引</span><span> </span></span></li><li><span>DBCC REINDEX </span></li><li class="alt"><span>DBCC INDEXDEFRAG </span></li><li><span><span class="comment">--收缩数据和日志</span><span> </span></span></li><li class="alt"><span>DBCC SHRINKDB </span></li><li><span>DBCC SHRINKFILE </span></li></ol> |
3、压缩数据库
1 |
<ol class="dp-sql"><li class="alt"><span><span>dbcc shrinkdatabase(dbname) </span></span></li></ol> |
4、转移数据库给新用户以已存在用户权限
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">exec</span><span> sp_change_users_login </span><span class="string">'update_one'</span><span>,</span><span class="string">'newname'</span><span>,</span><span class="string">'oldname'</span><span> </span></span></li><li><span>go </span></li></ol> |
5、检查备份集
1 |
<ol class="dp-sql"><li class="alt"><span><span>RESTORE VERIFYONLY </span><span class="keyword">from</span><span> disk=</span><span class="string">'E:\dvbbs.bak'</span><span> </span></span></li></ol> |
6、修复数据库
1 |
<ol class="dp-sql"><li class="alt"><span><span class="keyword">ALTER</span><span> </span><span class="keyword">DATABASE</span><span> [dvbbs] </span><span class="keyword">SET</span><span> SINGLE_USER </span></span></li><li><span>GO </span></li><li class="alt"><span>DBCC CHECKDB(<span class="string">'dvbbs'</span><span>,repair_allow_data_loss) </span><span class="keyword">WITH</span><span> TABLOCK </span></span></li><li><span>GO </span></li><li class="alt"><span><span class="keyword">ALTER</span><span> </span><span class="keyword">DATABASE</span><span> [dvbbs] </span><span class="keyword">SET</span><span> MULTI_USER </span></span></li><li><span>GO </span></li></ol> |
原文链接:http://www.cnblogs.com/jyshis/archive/2011/09/05/2140256.html