通过这十道题学到了很多导入数据,更加了解了数据库的存储读取等操作,也知道了怎么从中筛选出要用的数据
当多个表时连用 inner join on
当表名中有空格时 可以用[]或者``引用表名
如第一题 三个表
SELECT MarketData.*,
OperatingData.INDIC_NAME_EN,
OperatingData.VALUE,
IncomeStatement.N_INCOME,
IncomeStatement.T_COGS,
IncomeStatement.T_REVENUE
FROM (
SELECT TICKER_SYMBOL,
END_DATE,
CLOSE_PRICE
FROM market data
WHERE TICKER_SYMBOL IN (‘600383’,‘600048’) ) MarketData
LEFT JOIN – operating data
(SELECT TICKER_SYMBOL,
INDIC_NAME_EN,
END_DATE,
VALUE
FROM company operating
WHERE TICKER_SYMBOL IN (‘600383’,‘600048’) ) OperatingData
ON MarketData.TICKER_SYMBOL = OperatingData.TICKER_SYMBOL
AND MarketData.END_DATE = OperatingData.END_DATE
LEFT JOIN – income statement
(SELECT DISTINCT TICKER_SYMBOL,
END_DATE,
T_REVENUE,
T_COGS,
N_INCOME
FROM income statement
WHERE TICKER_SYMBOL IN (‘600383’,‘600048’) ) IncomeStatement
ON MarketData.TICKER_SYMBOL = IncomeStatement.TICKER_SYMBOL
AND MarketData.END_DATE = IncomeStatement.END_DATE
ORDER BY MarketData.TICKER_SYMBOL, MarketData.END_DATE
MySQL 学习6
最新推荐文章于 2024-04-28 10:15:00 发布