3.5 集合运算
3.5 集合运算
`SQL`查询 在2009年秋季学期开设的所有课程的集合
SQL查询 在2010年春季学期开设的所有课程的集合
3.5.1 并运算 union
有些`SQL`实现不支持`union`运算
为便于阅读可将两条合并的查询放在括号中
union运算会自动去除重复
union all运算会保留重复
3.5.2 交运算 intersect
`SQL`查询 找出在2009年秋季和2010年春季同时开课的所有课程的集合
保留重复intersect all
`MySQL`不支持intersect运算
`MySQL`中通过union运算实现交运算
`SQL`查询 找出在2009年秋季所有课程的集合
`SQL`查询 找出在和2010年春季开课的所有课程的集合
`SQL`查询 找出在2009年秋季和2010年春季同时开课的所有课程的集合
3.5.3 差运算 except
SQL查询 找出在2009年秋季学期开课但不在2010年春季学期开课的所有课程
保留重复except all
Oracle使用minus代替except
`MySQL`不支持`except`运算符
`MySQL`中通过`not in`实现差运算
参考链接
`SQL`查询 在2009年秋季学期开设的所有课程的集合
SQL查询 在2010年春季学期开设的所有课程的集合
3.5.1 并运算 union
有些`SQL`实现不支持`union`运算
为便于阅读可将两条合并的查询放在括号中
union运算会自动去除重复
union all运算会保留重复
3.5.2 交运算 intersect
`SQL`查询 找出在2009年秋季和2010年春季同时开课的所有课程的集合
保留重复intersect all
`MySQL`不支持intersect运算
`MySQL`中通过union运算实现交运算
`SQL`查询 找出在2009年秋季所有课程的集合
`SQL`查询 找出在和2010年春季开课的所有课程的集合
`SQL`查询 找出在2009年秋季和2010年春季同时开课的所有课程的集合
3.5.3 差运算 except
SQL查询 找出在2009年秋季学期开课但不在2010年春季学期开课的所有课程
保留重复except all
Oracle使用minus代替except
`MySQL`不支持`except`运算符
`MySQL`中通过`not in`实现差运算
参考链接