大家看看这句sql是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/22 06:35:40
SELECT sum((现价-买入价)*持有数量) FROM stock_sl WHERE 股票代码 in (SELECT 股票代码 FROM stock_name WHERE "银行"$股票简称)
题目是:计算"银行″的股票(股票简称中有"银行″两字)的总盈余,这里为什么用in?为什么有两个sql?为什么第二个sql用括号?
回答的ggjjddmm可以留下QQ吗

问题1:为什么用in?

回答:用in是限制条件(在一定范围内取值),也就是说股票代码所取值的范围是in后面SQL语句查出来的范围,只能在这个范围能取。

问题2:为什么有两个sql?为什么第二个sql用括号?

回答:其实这是一个SQL语句,只不过是两个SQL嵌套在一起。第二个SQL所查询出来的股票代码,正是第一个SQL股票代码的取值范围(上面的in),比如第二个SQL查询出来的股票代码是1,2,3.第一个SQL的判断条件“WHERE 股票代码 in ”只能从1,2,3中取值,而不能取4。嵌套SQL语句必须加括号。

in是个函数 这里用的是嵌套查询。 括号里面返回的是你要作为第一个sql语句条件的数据
(SELECT 股票代码 FROM stock_name WHERE "银行"$股票简称)不知道这句查询语句里面的条件是不是还缺少什么