《SQL必知必会》学习笔记之1

注:应用以 Mysql 数据库为例

1. 检索数据

1.1 select 语句

使用 select 语句时,至少给出两条信息:想选择什么,以及从什么地方选择。

1.2 检索单个列

1.3 检索多个列

1.4 检索所有列

select * 
from products;

注:除非确实需要表中的所有列,否则最好不使用*通配符,因为会降低检索的性能。

1.5 检索不同的值

select distinct vend_id
from products;

注:distinct 关键词适用于所有的列。例如,当指定 select distinct vend_id, prod_price from (表)时,检索出来的是针对两个列的唯一组合 。

1.6 限制结果

select prod_name
from products
limit 2 offset 0; --返回从第1行起的2行数据;

注:limit 2 offset 0 可简写为 limit 0 2

1.7 使用注释

-- 注释1;
#注释2;
/* select sth from table
where ;*/       --多行注释

2.排序检索数据

2.1 排序数据

注1:在指定一条order by 子句时,应保证它是select语句中最后一条子句。
注2:可以通过非选择列进行排序。

2.2 按多个列排序

select prod_id, prod_price, prod_name
from products
order by prod_price, prod_name;

注:仅在多个行具有相同的prod_price值时才第产品按prod_name进行排序。

2.3 按列位置排序(如1, 2, 3…)

2.4 指定排序方向

select prod_id, prod_price, prod_name
from products
order by prod_price DESC, prod_name;--后者默认升序(ASC)

3. 过滤数据

3.1 使用 where 子句

3.2 where 子句操作符

操作符说明操作符说明
=等于>大于
<>不等于>=大于等于
!=不等于!>不大于
<小于BETWEEN在两个指定的值之间
<=小于等于IS NULL为null值
!<不小于

4. 高级过滤

4.1 组合 where 子句

如:and / or
注1:SQL 在处理 or 操作符前,优先处理 and 操作符。
注2:任何时候使用具有 and 和 or 操作符的 where 子句,都应该使用圆括号明确地分组操作符。

4.2 IN 操作符

IN 操作符一般比一组 OR 操作符执行的更快。

4.3 NOT 操作符

select prod_name
from products
where not vend_id = 'DLL01'
order by prod_name;

5.用通配符进行过滤

  • LIKE操作符
    • 百分号(%)操作符:匹配任意字符;区分大小写;注意空格;不可匹配NULL。
    • 下划线(-)通配符:匹配单个字符。
    • 方括号([ ])通配符:匹配一个字符集,必须匹配指定位置(通配符的位置)的一个字符;可用前缀字符^(脱字号)来否定。
select cust_contact
from customers
where cust_contact like '[JM]%' --找出所有名字以 J 或 M 开头的联系人。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值