数据库原理实验报告(4)资料 下载本文

内容发布更新时间 : 2024/5/23 22:10:26星期一 下面是文章的全部内容请认真阅读。

SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name

(2) 产生在A表中有而在B表中没有的集合。

SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name WHERE TableB.id IS null

? RIGHT [OUTER] JOIN

RIGHT OUTER JOIN 是后面的表为基础,与LEFT OUTER JOIN用法类似。

? FULL [OUTER] JOIN

(1) Full outer join 产生A和B的并集。但是需要注意的是,对于没有匹配的记录,则会以null做为值。可以使用IFNULL判断。

SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name

(2) 产生A表和B表没有交集的数据集。

SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name WHERE TableA.id IS null OR TableB.id IS null

③LIKE匹配字符有几种?如果要检索的字符中包含匹配字符,该如何处理?

LIKE通配符及实例

通配符 % _(下划线) 说明 表示包含零个或多个字符的任意字符串。 实例 where title like '%computer%' 将查找在书名中任意位置包含单词 \的所有书名。 where au_fname like '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(dean、sean 等)。 where au_lname like '[c-p]arsen' 将查找以 arsen 结尾并且以介于 c 与 p 之间的任何单个字符开始的作者姓氏,例如 carsen、larsen、karsen 等。 where au_lname like 'de[^l]%' 将查找以 de 开始并且其后的字母不为 l 的所有作者的姓氏。 表示任何单个字符。 [] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 [^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。