交付:多表连接 + 分组统计 + 排名
场景:你连上了一台真实的 Linux 实验机,home 目录下放着一个 sqlite 库文件,里面不止一张表。这个库是为你这次实验现生成的,表名、行和数值都和别人的不一样。要查什么写在 ~/TASK.txt 里。 任务:这是这条路线的交付题
一步做不到的时候怎么办
想找出"比平均价贵的商品",一条普通查询做不到,因为【0】。
括号里那条查询要给出什么
先算出一个,再拿它去挑 先算 再挑 条件写成 price > (…),括号里那条查询必须给出【0】。
⚠️ 子查询里带出一个空值会怎样
先算出一个,再拿它去挑 先算 再挑 条件写成 sup_id NOT IN (…),而括号里那条查询的结果中混进了一个空值。这条查询会【0】。 goods supplier id
⚠️ 子查询带出空值,7 行变 0 行
先算出一个,再拿它去挑 先算 再挑 两条查询只差一句"把空值排除掉"。输出两个行数(用 / 隔开)。 goods supplier id name c
比平均价贵的有哪几样
先算出一个,再拿它去挑 先算 再挑 先算出全表均价,再挑出比它贵的。输出两样:几行、名字连起来(用 / 隔开)。 goods supplier id name cat
自己写:挑出杭州供应商供的商品
先算出一个,再拿它去挑 先算 再挑 补全子查询:挑出供应商在杭州的那些商品。输出两样:几行、名字连起来(用 / 隔开)。 goods supplier id name c
自己写:贵过**本类**均价的
先算出一个,再拿它去挑 先算 再挑 补全子查询:挑出比"它自己那一类的均价"还贵的商品。输出两样:几行、名字连起来(用 / 隔开)。 goods suppl
自己写:把 NOT IN 的坑填上
先算出一个,再拿它去挑 先算 再挑 下面这条 NOT IN 因为子查询里带出空值,一行都不返回。请把它修好。输出两个数:修之前几行、修之后几行(用 / 隔开)。 goods s
子查询放在 FROM 后面是什么意思
把一条子查询放在 FROM 后面,等于【0】。