![引导关注](https://img-blog.csdnimg.cn/img_convert/41cb7c9dc757f8379c985e7d93a5df40.gif;wxfrom=5&wx_lazy=1)
我喜欢大卫·芬奇(David Fincher)拍的电影《龙纹身女孩》,他成功的把小说《龙纹身女孩》搬上了荧幕,超出了我的预期。
我本以为这又是一部肤浅的、愤世嫉俗的用来敛钱的好莱坞电影,事实情况却是,这是一部情节紧张,能引起共鸣的电影,只是里面的淫杀犯罪让人毛骨悚然。我最喜欢的一个情节是龙纹身女孩用SQL来查找40年前的凶杀案的过程。
![春天 绿叶分割线](https://img-blog.csdnimg.cn/img_convert/ee562bfde534c37f56ba552d6040c61d.png;wxfrom=5&wx_lazy=1)
![春天 绿叶分割线](https://img-blog.csdnimg.cn/img_convert/ee562bfde534c37f56ba552d6040c61d.png;wxfrom=5&wx_lazy=1)
我们从电影里可以看到她使用笔记本电脑,轻而易举的进入瑞典警察局数据库,当她敲入像‘unsolved(未破案)’和‘decapitation(斩首)’等关键词时,屏幕上翻滚着绿色的检索出的信息,虽然我们看不清她使用的完整的查询语句:
![春天 绿叶分割线](https://img-blog.csdnimg.cn/img_convert/ee562bfde534c37f56ba552d6040c61d.png;wxfrom=5&wx_lazy=1)
![春天 绿叶分割线](https://i-blog.csdnimg.cn/blog_migrate/157debc9e99c5184a60d450b2357d6af.png)
处于一种天生的好奇,我忍不住截取了这些镜头画面,用Photoshop拼接了一下,下面是我得到的结果:
![春天 绿叶分割线](https://i-blog.csdnimg.cn/blog_migrate/157debc9e99c5184a60d450b2357d6af.png)
![春天 绿叶分割线](https://i-blog.csdnimg.cn/blog_migrate/157debc9e99c5184a60d450b2357d6af.png)
你马上能发现,这不是Oracle SQL——很显然 AS 关键字在Oracle里不能用在表假名上。事实上,如果我们回去看看她那个令人兴奋的查询结果输出时,你会看到 mysql 的提示符,而且还有 use [dbname] 连接数据库的语法,下面是一个更详细的画面:
![春天 绿叶分割线](https://i-blog.csdnimg.cn/blog_migrate/157debc9e99c5184a60d450b2357d6af.png)
![春天 绿叶分割线](https://i-blog.csdnimg.cn/blog_migrate/157debc9e99c5184a60d450b2357d6af.png)
我们实际上可以把她用的left join关键词表的SQL语句整理出来。
最终我们获得了一个全屏的输出结果信息:
![春天 绿叶分割线](https://i-blog.csdnimg.cn/blog_migrate/157debc9e99c5184a60d450b2357d6af.png)
![春天 绿叶分割线](https://i-blog.csdnimg.cn/blog_migrate/157debc9e99c5184a60d450b2357d6af.png)
你也许会很惊讶,很奇怪,这样一个顶级的黑客为什么要outer-join的方式连接Victims(被害人)表和Keywords(关键词)表呢,还使用这样的文字过滤方式,岂不知MySQL里是有 like 语法的,更奇怪的是输出结果里根本没有姓和名分别以’R L’打头的受害人。
原因是,这只是部电影
![春天 绿叶分割线](https://i-blog.csdnimg.cn/blog_migrate/157debc9e99c5184a60d450b2357d6af.png)
![undefined](https://i-blog.csdnimg.cn/blog_migrate/f2c942f7ce2462616a2166875eca82ee.jpeg)
转自外刊IT评论
![undefined](https://i-blog.csdnimg.cn/blog_migrate/1f82bfc04fe55850c27f826f82aaa9c3.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/5ed1a6ab059aaee00733a7f0b88760c1.jpeg)