警告,这是一个很长的帖子.TL/DR:面试问题我是否过于苛刻?
好的,在申请人总共大约9个月的失望之后,我想确保我们对高级开发人员申请人的期望不高.
背景
我们是一家商业智能商店.但是,我们不希望候选人获得BI知识.如果你有一个坚实的T-SQL背景,那就是我们所需要的.关于Analysis Services,Dimensional Modeling等,我们将为您提供其余的方法.因此,我们所有测试的都是T-SQL技能.一切都发生在SSMS内.
如果考生通过电话筛选,我们会带他们进行编码面试,我们会给他们7个问题和90分钟的慷慨.我在编码过程中出现了各种各样的东西,比如他们如何浏览工具,他们研究的内容等等.应该注意的是,我们非常清楚地知道他们可以使用任何资源,包括互联网,BOL,等等
问题
以下是缩写形式的问题,试图不给予太多分析(因为他们可能会谷歌这个问题:P)
IN子查询由于子查询表中的NULL值而没有返回任何内容.我要求解决方法使查询工作,然后解释为什么它不首先.我想知道他们理解NULL值是什么/意味着什么以及SQL如何评估它们.就是这样.所以,我的问题是这些问题有多公平?我们正在寻找有实际经验的人.对我来说不可思议的是,拥有10年SQL经验的人甚至无法得到其中的1或2个问题.我太苛刻了吗?我应该添加/删除这些东西吗?
我有一个sql视图,我用它来检索数据.让我们说一大堆产品,这些产品与购买它们的顾客有关.无论链接到多少客户,每个产品的视图应仅返回一行.我正在使用row_number函数来实现这一点.(此示例已简化,通用情况将是一个查询,其中应该只为某列X的每个唯一值返回一行.返回哪一行并不重要)
CREATE VIEW productView AS
SELECT * FROM
(SELECT
Row_number() OVER(PARTITION BY products.Id ORDER BY products.Id) AS product_numbering,
customer.Id
//various other columns
FROM products
LEFT OUTER JOIN customer ON customer.productId = prodcut.Id
//various other joins
) as temp
WHERE temp.prodcut_numbering = 1
Run Code Online (Sandbox Code Playgroud)
现在假设此视图中的总行数约为100万,而从productView运行select*需要10秒.从productView执行查询,例如select*,其中productID = 10需要相同的时间.我相信这是因为查询得到了评估
SELECT * FROM
(SELECT
Row_number() OVER(PARTITION BY products.Id ORDER BY products.Id) AS product_numbering,
customer.Id
//various other columns
FROM products
LEFT OUTER JOIN customer ON customer.productId = prodcut.Id
//various other joins
) as temp
WHERE prodcut_numbering …Run Code Online (Sandbox Code Playgroud) 我正在使用mySql,我的表列date是DATETIME类型
但我想比较今天的日期而不是时间
$today = date("Y-m-d", time());
Run Code Online (Sandbox Code Playgroud)
如果我使用上述方法比较日期,它总是出错.
$this->update("
UPDATE `stats_tracker`
SET
`user_agent`='$this->visitor_user_agent' ,
`referrer`='$this->referrer_page' ,
`page_views`='$page_views'
WHERE
`visitor_ip`='$this->visitor_ip'
AND `page`='$this->this_page'
AND `date`='$today'");
Run Code Online (Sandbox Code Playgroud)
请帮助我,我不是一个好的mySQL程序员.
我有一个事件表,需要将最近的4个日期拉到今天的日期,它们可以是过去,现在或将来.
如果可能的话,SQL(使用MySQL)会是什么?
谢谢
布雷特
所以,我正在为我的兄弟建立一个新的网站,似乎我需要为他使用MySql.
在ASP.NET有一个列表视图项,你可以选择从哪个数据库是将采取的信息,您可以Read\ Write\ Change\ Delete用的点击button.
这里有谁知道我怎么能这样做MySql?而不是mssql ..我知道如何使用DataBases,我只是没有使用MySql,我会感谢任何会帮助我的人.
再次感谢!alon .. :)