sql语句

1.substr

SUBSTR (str, pos) // 在str中从pos位置开始截取后面的字符串,标示符从1开始

适用于mysql和oracle

SUBSTR(str,pos,len) // 在str中从pos位置开始截取len个长度的字符串,标示符从1开始

例:Geography 表

Region_Name

Store_Name

East

Boston

East

New York

West

Los Angeles

West

San Diego

SELECT SUBSTR(San Diego,2,4)
FROM
Geography
WHERE Store_Name='San Diego';

结果:'an D'

2.LIKE

根据规则挑选出符合要求的字段

'A_Z': 所有以 'A' 起头,中间加一任意字符,且以 'Z' 为结尾的字串。 'ABZ' 和 'A2Z' 都符合这一个模式,而 'AKKZ' 并不符合 (因为在 A 和 Z 之间有两个字原,而不是一个字原)。


'ABC%': 所有以 'ABC' 起头的字串。举例来说,'ABCD' 和 'ABCABC' 都符合这个套式。


'%XYZ': 所有以 'XYZ' 结尾的字串。举例来说,'WXYZ' 和 'ZZXYZ' 都符合这个套式。


'%AN%': 所有含有 'AN' 这个套式的字串。举例来说, 'LOS ANGELES' 和 'SAN FRANCISCO' 都符合这个套式。

like常用通配符:

通配符

意义

%

一个或多个字符

_

一个字符

[str]

str中的任一字符

[!str]/[^str]

不含str中的任一字符


3.WHERE/GROUP BY/HAVING

当同时含有以上三个语句时,执行顺序为

  1. 执行where子句查找符合条件的数据;

  2. 使用group by 子句对数据进行分组;对group by 子句形成的组运行聚集函数计算每一组的值;

  3. 最后用having 子句去掉不符合条件的组。

where中不能使用聚合函数,而having可以

4.IN

select * from 表名 where 字段名 in (a1,a2,...) //查找字段名为a1,a2...的表信息

5.INTERSECT和union和union all

union是两个结果集的并集,INTERSECT是两个结果集的交集,union all不同于union,它会列出所有的值,包括重复的

6.trim和ltrim和rtrim

trim是删除左右两边的空格数

ltrim是删除左边的空格数

rtrim是删除右边的空格数

trim('字符1' from '字符串2') 分别从字符2串的两边开始,删除指定的字符1。

7.CONCAT( ) 

concat(str1,str2) // 将str1和str2拼接起来

8.创建索引
create index index_name on 表名(字段名)

如果需要将索引按降序排列

create index index_name on 表名(字段 desc)

9.外键

外键是为了确保资料的完整性,比如A表是用户的信息,B表是用户的采购信息,这时候我们必须确保B表的用户id在A表中存在

A 表

栏位名

性质

SID

主键

Last_Name


First_Name


B

栏位名

性质

Order_ID

主键

Order_Date


Customer_SID

外来键

Amount


建表时创建外键

create table B{
  Order_ID integer, 
  Order_Date date, 
  Customer_SID integer, 
  Amount double, 
  primary key(Order_ID),
  foreign key (Customer_SID) references A(SID)
};

已有主键添加外键

alter tabe B add foreign key (Customer_SID) references A(SID);

10.sql中的join

join

意义

inner join

返回左右表中匹配的行

left join

返回左表中所有行,即使在右边没有匹配的值

right join

返回右表中所有行,即使在左边没有匹配的值

full join

返回左右表所有的行,不匹配的值用null补齐

11.sql中的约束

  • unique

    列中元素必须唯一

  • primary key

    为列集合提供列唯一性约束

    主键必须唯一且不能为空

    一张表应该有一个主键,且只能有一个主键。

    可以设置多个字段为主键,即复合主键。

  • check

    check约束用于限制列中的值的范围。

12.Auto-increment

新纪录在插入表时会生成一个唯一的值

14.视图view

基于 SQL 语句的结果集的可视化的表

CREATE VIEW view_name AS

SELECT * FROM 表名 WHERE 条件

15.group by

select的字段要么在group by中出现,要么通过聚合函数出现,不能出现一对多的形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值