SQL常见用法及函数

limit

limit用于查询指定行数的数据,用法有以下这几种:

SELECT name from user where age > 20 limit 0, 1; //限制从第一条开始,显示1条 
SELECT name from user where age > 20 limit 1; //同上面的一个效果 
SELECT name from user where age > 20 limit 4, 1; //显示从第五条开始,显示1条

join

join用于连接两张表,条件是两张表有相同的字段,并返回相同的字段
inner join = join,用法相同
left join返回左表的全部内容,加上右表符合条件的内容,在有些数据库也叫left outer join

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

right join返回右表的全部内容,加上左表符合条件的内容

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

full join只要存在匹配关系,就会返回左表和右表的全部列,full join 就是left join 和right join结合的结果

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

except

except返回两个结果集的差,即从左查询中返回右查询中没有找到的所有非重复值,select * from a except select * from b;

intersect

intersect返回两个结果集的交集,即两个查询都返回的非重复值

union

union返回两个结果集的并集

查询奇偶数

查询奇数:字段%2=1
查询偶数:字段%2=0

理论知识

sql主要分成四部分

(1)数据定义(Data Definition Language)。(SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。关键字:create,drop, alter等
(2)数据操纵(Data Manipulation Language)。(SQL DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。关键字:insert,delete,update等
(3)数据控制(Data Control Language)。(DCL)包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。关键字: grant, revoke等
(4)嵌入式SQL的使用规定(Transaction Control Language)。(TCL)涉及到SQL语句嵌入在宿主语言程序中使用的规则。

函数

current_date() 返回当天日期
select * from events where date = current_date();
current_week() 返回当周的周一
current_month() 返回当月的1号
current_date() - interval ‘1’ day 返回昨天的日期
interval常用于时间的加减法
adddate(‘日期’,‘天数’) 增加指定的天数,返回指定天数后日期
日期的格式可以是“2021-01-18”,天数是整型的数字
datediff(‘start date’,‘end date’) 返回整型的数字
extract() 用于返回日期中单独的部分,举例:

1 SELECT EXTRACT(YEAR FROM OrderDate) AS OrderYear,
2 EXTRACT(MONTH FROM OrderDate) AS OrderMonth,
3 EXTRACT(DAY FROM OrderDate) AS OrderDay
4 FROM Orders

substring() 字符串截取函数,举例

substring('数据分析',2,2)
查询结果就是‘据分’

substring('数据分析',2)
查询结果就是‘据分析’

cast() 用于把某种数据类型转换成另外一种数据类型,固定格式是cast(expression as date_type)

date_type一般有以下这几种类型:
二进制,同带binary前缀的效果 : binary 
字符型,可带参数 : char()   
日期 : date    
时间: time    
日期时间型 : datetime     
浮点数 : decimal      
整数 : signed     
无符号整数 : unsigned 

注:date类型是 'YYYY-MM-DD' 格式,datetime类型是 'YYYY-MM-DD HH:mm:ss'格式
convert() 转换日期的格式
charindex() 查找一个字符串在另一个字符串中的位置。

charindex(test,"this is a test")
返回11 从1开始计数
能找到,就返回位置,找不到就返回0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值