sql特殊写法记录

一、集合的并、交、差

(select 查询语句1) UNION 【ALL】 (select 查询语句2)

(select 查询语句1) INTERSECT 【ALL】 (select 查询语句2)

(select 查询语句1) EXCEPT 【ALL】 (select 查询语句2)

上述操作中不带关键字ALL时,返回结果消除了重复元组,而带ALL时,返回结果中为消除重复元组

二、字符串的匹配操作

条件表达式中字符串匹配操作符是“LIKE”。在表达式中可使用两个通配符:

百分号(%):与零个或多个字符组成的字符串匹配

下划线(_):与单个字符匹配

为了使字符串中暴汗特殊字符(即%和_),SQL允许定义转义字符。转义字符紧靠特殊字符并放在它面前,表示该特殊字符将被当成普通字符。在LIKE比较重使用 ESCAPE关键字来定义转义符。如果使用反斜线(\)作为转义符,那么:

LIKE ‘ab\%cd%’ ESCAPE '\'      匹配所有以“ab%cd”开头的字符串

LIKE 'ab\\cd%' ESCAPE '\'  匹配所有以“ab\cd”开头的字符串

三、集合成员的算术比较

形式如下:

SELECT * FROM S WHERE id = SOME<ALL><ANY>(SELECT SCORE FROM SC WHERE id='123');

ALL操作表示左边那个元组与左边集合中的每一个元组满足“=”运算

SOME操作表示左边那个元组与右边集合中至少一个元组满足“=”运算

ANY与SOME同义

四、WITH子句和临时视图

SQL3允许用户用WITH子句定义一个临时视图(即子查询),置于SELECT语句的开始处。例:

with
cte1 as
(
select * from table1 where name like 'abc%'
),
cte2 as
(
select * from table2 where id > 20
),
cte3 as
(
select * from table3 where price < 100
)
select a.* from cte1 a, cte2 b, cte3 c where a.id = b.id and a.id = c.id

五、INSERT

(1)单元组的插入

     INSERT INTO <TABLENAME> [(<列名序列>)] VALUES(<元组值>)

(2)多元组的插入

    INSERT INTO <TABLENAME> [(<列名序列>)] VALUES(<元组值>),(<元组值>),(<元组值>),...,(<元组值>)

(3)查询结果的插入

    INSERT INTO <TABLENAME> [(<列名序列>)] <SELECT 查询语句>

        (4)表的插入

    INSERT INTO <TABLENAME> [(<列名序列>)] TABLE <基本表名2>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值