当前位置:首页 > 数据库原理实验报告(4)
SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name
? LEFT OUTER JOIN:
(1) Left outer join 产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。
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%' 将
字符串。 查找在书名中任意位置包含单词 \mputer\的所有书名。 where au_fname like '_ean' 将查_(下划表示任何单个字符。 找以 ean 结尾的所有 4 个字母的名字(dean、sean 等)。 where au_lname like '[c-p]arsen' 将查找以 arsen 结尾并且以介于 c 与 p 之间的任何单个字符开始的作者姓氏,例如 carsen、larsen、karsen 等。 线) 指定范围 ([a-[] f]) 或集合 ([abcdef]) 中的任何单个字符。 不属于指定范围 where au_lname l[^] ([a-f]) 或集合 ike 'de[^l]%' 将([abcdef]) 的查找以 de 开始并
共分享92篇相关文档