SQL专项练习6
关系运算符
σ 选取 相当于SQL中的 where rating > 8
π 投影 相当于SQL中的 select ... distinct 字段 ,去重
x 叉乘 相当于SQL中的 ...from A,B : 穷举所以集合两边元素的组合量
- 差 返回所有在 R 中但不在 S 中的元组
U 并 返回包含在R或S中的所有元组
exists子查询:多列多值嵌套查询
把外层的查询结果拿到内层,看内层是否成立,简单来说后面的返回true,外层(也就是前面的语句)才会执行,否则不执行
结果:
SELECT DISTINCT customer_id
FROM orders
WHERE EXISTS (
SELECT *
FROM products
WHERE orders.product_id = products.product_id
AND products.product_name = '产品A'
);
在上面的查询中,首先在orders表中查询具有购买产品A的订单的客户ID。
子查询会检查orders表中的每一行,然后在products表中查找具有匹配产品ID和产品名称的记录。
如果找到匹配的记录,EXISTS返回TRUE,否则返回FALSE。最终,查询结果将返回购买产品A的客户ID。
注意!
使用EXISTS子查询时,子查询与主查询之间必须有关联条件,以确保正确地检查记录的存在。在上面的示例中,我们使用了orders表的product_id和products表的product_id进行了关联。
in子查询:单列多值嵌套查询
select * from class where name in (select name from hobby) 父查询中使用IN
集合查询
UNION、EXCEPT、INTERSECT
集合运算符实现两个表之间的数据查询
sum() 对于null值不做累加
SQL专项练习 文章被收录于专栏
SQL专项每日练习,错题
上海得物信息集团有限公司公司福利 1166人发布
查看18道真题和解析