首页 存档 技术 查看内容

龙纹身女孩和SQL,电影和编程语言不解的缘

2018-3-30 13:00 |来自: 互联网 366 0

摘要: ▲点击上方“StuQ”,让你 UP UP UP !!! 我喜欢大卫芬奇(David Fincher)拍的电影《龙纹身女孩》,他成功的把小说《龙纹身女孩》搬上了荧幕,超出了我的预期。我本以为这又是一部肤浅的、愤世嫉俗的用来敛钱的好莱 ...

▲点击上方“StuQ”,让你 UP UP UP !!!


我喜欢大卫芬奇(David Fincher)拍的电影《龙纹身女孩》,他成功的把小说《龙纹身女孩》搬上了荧幕,超出了我的预期。我本以为这又是一部肤浅的、愤世嫉俗的用来敛钱的好莱坞电影,事实情况却是,这是一部情节紧张,能引起共鸣的电影,只是里面的淫杀犯罪让人毛骨悚然。我最喜欢的一个情节是龙纹身女孩用 SQL 来查找 40 年前的凶杀案的过程。



我们从电影里可以看到她使用笔记本电脑,轻而易举的进入瑞典警察局数据库,当她敲入像“unsolved(未破案)”和“decapitation(斩首)”等关键词时,屏幕上翻滚着绿色的检索出的信息,虽然我们看不清她使用的完整的查询语句:




处于一种天生的好奇,我忍不住截取了这些镜头画面,用 Photoshop 拼接了一下,下面是我得到的结果:




你马上能发现,这不是 Oracle SQL很显然 AS 关键字在 Oracle 里不能用在表假名上。事实上,如果我们回去看看她那个令人兴奋的查询结果输出时,你会看到 mysql 的提示符,而且还有 use [dbname] 连接数据库的语法,下面是一个更详细的画面:




我们实际上可以把她用的 left join 关键词表的 SQL 语句整理出来。


最终我们获得了一个全屏的输出结果信息:




下面就是我们 Oracle “WTF 研究会”部门重新构造出的她使用的 SQL:



你也许会很惊讶,很奇怪,这样一个顶级的黑客为什么要 outer-join 的方式连接 Victims(被害人)表和 Keywords(关键词)表呢,还使用这样的文字过滤方式,岂不知 MySQ L里是有 like 语法的,更奇怪的是输出结果里根本没有姓和名分别以“R L”打头的受害人。欢迎在评论区自由讨论。


本文转载自:外刊IT评论

征稿
电影
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部