SQL学习-基础版

一、 SQL中单表的查询语句select

1.初始用法:select查询表中的属性列

select 列名,列名,... from 表名
select  *  from 表名  #查询所有列

2.条件查询:【更精确的查询出特定数据】

select 列名,列名,... from 表名
   where condition  #condition就是一个限定的条件,可以用and和or组装各种条件

3.指定某个或某些属性列唯一返回(distinct)
eg.某一列中只返回一次某个关键词

select distinct 列名,列名,... from 表名
   where condition  

4.结果排序(order by)、选取部分结果(limit)

select 列名,列名,... from 表名
   where condition
   order by 列名 ASC/DESC #升序/降序 
   limit  需要几行数据的行数 offset 跳过所要数据前面所有行的行数  

【注意区分数据和字符串,数据可以直接输入,字符串要加 “ ” 】

二、 SQL中多表的联合查询

1.主键:唯一标识,不会重复
2.多表内部连接 (inner join)
通过on描述关联关系,inner join将两个表格的数据连接到一起
eg:交集概念,表一为:(1,2,3,4),表二为(3,4,5,6),连接后为(3,4)

select 列名,列名,... from 表名
   inner join 要连接的表名 on 主表.id = 要连接的表名.id   #on后面为匹配条件
   where condition 

3.多表外连接
左连接 (left join):表A 连接 B, 保留A的所有行,不管有没有能匹配上
右连接 (right join):与左连接相反
全连接 (full join):不管有没有匹配上,同时保留A和B里的所有行
eg:并集概念,表一为:(1,2,3,4),表二为(3,4,5,6),连接后为(1,2,3,4,5,6)

select 列名,列名,... from 表名
   left/right/full join 要连接的表名 on 主表.id = 要连接的表名.id   #on后面为匹配条件
   where condition 

【连接数据的列其中数据要匹配的上】
4.特殊关键字 NULLs
连接时,数据缺失,要用到null填充,用is nullis not null 来选在某个字段是否等于null

select 列名,列名,... from 表名
   where  列名 IS/IS NOT NULL

5.查询中使用表达式计算

select 列名/2,列名+2 from 表名 #列名这里可以计算
select max(列名) from 表名 #最大值
select count(列名) from 表名 #获取这一列的行数

6.分组 GROUP BY
可以按某个列的属性对数据进行分组

select distinct 列名,列名,... from 表名
   where condition  
   GROUP BY 列名
   HAVING condition;

对分组之后的数据再做筛选,用HAVING 语句,为简单的where

三、 SQL中一个完整的查询执行顺序

select distinct  列名, 表达式(列名),FROM 表名
(inner/left/right/full) join 要连接的表名 ON 表名.列名 = 要连接的表名.列名  #连接表
    where 筛选条件
    GROUP BY 列名       #分组
    HAVING 筛选条件
    ORDER BY 列名 ASC/DESC      #排序
    LIMIT 需要几行数据的行数 OFFSET 跳过所要数据前面所有行的行数;  #截取数据
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Mistrain_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值