【SQL初级学习 SELECT容易忘记的要点 & JOIN & Union/Union all 操作】

SQL初级学习常见问题

几个容易忘记的要点
合并表单操作(JOIN & Union/Union all)

一、几个容易忘记的要点

  1. 使用where进行条件筛选;但是如果使用了group by 就只能用 having 进行筛选
  2. As的用法,SELECT 里面 用as , From 里面不能用 as, 直接跟重命名的名称即可
  3. Typical expression, function and wildcards
是否为空IS NULL
是否相等=(相等) / !=(不等)
返回查询选择的不为空的行数/返回查询的所有行COUNT / COUNT(*)
返回和/平均值SUM / AVG
全选通配符(Wildcards) *
任意字符集合通配符(Wildcards) %
正好一个字符通配符(Wildcards) _

Note :

‘%Desk’‘xxxDesk’
‘Desk%’‘Deskxxx’
‘%Desk%’‘xxxDeskxxx’
  1. Boolean 优先级: NOT > AND > OR

  2. IN and NOT IN LIST

State In ('FR', 'CA', 'HI')

相当于

State = 'FR' OR State = 'CA' OR State = 'HI'
  1. 常见排序类:
    selcet —(想展示/输出的列名;重新定义计算的展示列)
    from —(什么表)
    where — (加上筛选条件)
    order by — (用什么来排序)—desc(降序)/asc(升序) —limit(展示前几个)
select GPA 
from STUDENT_profile
where 专业='xx专业'
order by GPA desc limit 10

1.join

不使用join如何进行合并表单
举例情景:查看所有来自北京的用户资质认证结果情况
俩表中的字段相同的情况下需要指定表名

select e.eid, e.test, result
from eligibility_details e, user_detail u
where e.eid = u.eid and u.hometown='Beijing'

但是也等同于 (left join)

select e.eid, e.test, result
from eligibility_details e
left join user_detail u on e.eid = u.eid
where u.hometown='Beijing'

left join 返回左表全表以及右表中满足on 后条件语句的行
right join 返回右表全表以及左表中满足on 后条件语句的行
inner join 返回两表中满足on 后条件语句的行

1.union & union all

UNION默认去重

select 筛选展示列
from 表
where 条件1
union 
SELECT 筛选展示列
from 表
where 条件1;

如何不去重合并两个条件筛选后的表格 > union all

select 筛选展示列
from 表
where 条件1
union ALL
SELECT 筛选展示列
from 表
where 条件1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值