SQL学习2

一、基础查询语法(DQL)

SELECT 列
FROM表 ==>查看某个表的某个列
[条件]

MySQL: select允许单独使用
oracle(甲骨文): select必须与from一起使用,提供了dual表,用于补全特定的SQL语句

SELECT 列1,列2…列n FROM 表
如果查询的是全部的列,可以使用*
SELECTFROM表;使用 效率没有书写全部列的效率高

二、查询中算法运算

对于数值类型的数据,查询过程中可以进行算法运算

三、对于NULL数据的处理

准则1:NULL参与算术运算,结果一定是NULL。
准则2:在SQL中,任意两个NULL不相等。

NULL处理函数(方言)
ifnull(expr1,expr2): expr1的结果是null,使用expr2的结果

别名:空格+别名 或者 AS+空格+别名

四、查询结果的去重复

DISTINCT 关键字
select distinct 查询列 from 表(distinct 只能放到select后面)
对查询结果行进行去重复
select distinct 列1,列2 from 表(表示如果列1,列2组合一样就去掉)

五、条件的筛选(行的筛选)

where comm=null 筛不出来,见准则2,任意两个null不相等
select 列
from 表

强调绝大部分数据库 筛选时数据大小写时敏感的

六、条件的逻辑组合

在查询中 AND的组合条件的优先级要高于OR组合
解决方案:记得套括号,一般给OR套括号

七、特殊的几个筛选关键字

1.between x and y 在[x,y]之间
适用于数值或者日期的区间段筛选
相当于>=x and <=y

2.in(x1,x2…xn) 在{x1,x2…xn}其中
select*
from emp
where deptno in(20,30);

3.like’x’ 像’x’一样(文本的模糊匹配)
模糊匹配的通配符:
1.% 表示此处有任意数量的字符
2._ 表示此处有一个字符

4.is null 筛选null值

8、查询结果的排序

–(重要)DQL执行顺序
书写顺序: select…from…where…order by…
执行顺序:from… where… select… order by…
列别名在select中生成,在order by 中可以使用,但是在where中不能使用

多个列排序
order by 列a desc, 列b asc
先按照’列a’降序排序,列a数据相同的再按照’列’b升序排序显示

9、查询结果的分页(分段) 方言

Mysql:limit
postgre:limit offest
oracle:
假设有:107条数据
每一页显示:20条
第三页数据的序号: ??->??

limit (n-1)*p(起点),n
limit 记录起点标号,数据行数
limit 0,5(查询从第0个起的前5个)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值