记一次基础SQL语句学习笔记

  • SQL(Structured Query Language 结构化查询语句),主要用于设计、创建、管理关系型数据库。
    • 关系型数据库,类似于二维表,有每行每列组成,规整且易于维护,可以理解为sql语句代替了excel中的图形化命令,常见关系型数据库如SQL Server、Mysql、ORACLE、PostgreSQL等等,但灵活度较低
    • 非关系型数据库存储结构不固定,每个元组可以有不一样的字段,速度快,成本低,灵活度高但查询复杂度较
  • SQL简单查询
    • SQL简单查询关键词
    • SQL查询基本框架
  • 有了关键词和基本框架 ,就可以组成最基本的sql语句了
查询所有数据👇
select * from 表名;
查询某一列数据👇
select 列名 from 表名;
查询指定多列内容👇
select 列名1,列名2 from 表名;
比如查询成绩信息👇
select name.math from score;
  • 去重(distinct),将语句执行后去除重复的数据
格式👇
select distinct 列名 from 表名;
  • 排序(order by),对一列或多列进行排序,默认是升序(asc)
格式👇
select 列名 from 表名 order by 列名1,列名2 asc/desc; (desc表示降序排列)
  • 限制结果(limit),可限制查询行数
格式👇
#返回表的前N行
select 列名 from 表名 limit n ;
#返回表的特定行
select 列名 from 表名 limit n,m ;(从n+1行开始,返回m行)
  • 过滤查询(where),为查询语句增加过滤条件
格式👇
select * from 表名 where 条件语句;
条件语句包括以下
  • 别名(as),用于为表或表中的列提供临时名称,具有可读性,但只存在于查询期间
格式👇
select 列名 as 别名 from 表名
sql复杂查询
  • 计算字段,字段之间可以进行加减乘除运算
  • 拼接字段(concat),可以将多个字段凭借起来,即将多个字符串连接成一个字符串
  • 文本处理(字符串函数),通过各种函数,对数据进行选择
  • 日期处理(时间函数)
  • 聚合,SQL中提供的聚合函数可以用来统计、求和
  • 分组(group by),可对数据进行分组,HAVING可对分组后的数据进行过滤,但SQL效率会降低
  • case when,实现对定量数据的定行描述\
针对NULL值应单独解决,否则容易出现BUG
  • 视图(view),视图不是关键词,是基于sql语句的结果形成的可视化表,同样包含行和列,和真实表相近
嵌套查询
  • 子查询,将一个查询语句包含在另一个查询语句中,而且子查询可嵌套在各个位置,但主要还是在select,where,having之后
  • 关联子查询,对于外部查询返回的每一行数据,内部查询都要执行一次。在关联子查询中信息流是双向的。外部查询的每行数据传递一个值给子查询,然后子查询为每一行数据执行一次并返回他的记录,然后,外部查询根据返回的记录做出决策。
多表查询
  • 内连接(inner join),仅将两个表中满足连接条件的行组合起来作为结果集,且在内连接中,只有两个表中匹配的行才能在结果集中出现
  • 坐外连接(left join),以左表为基准,在内连接的基础上,包含坐标中所有不符合条件的数据行,并在其中的右表列填写NULL
  • 右外连接(right join),以右表为基准,在内连接的基础上,包含坐标中所有不符合条件的数据行,并在其中的左表列填写NULL
  • 全连接(full join),在内连接的基础上,还包含两个表中所有不符合条件的数据行,并在其中的左表、和右表列填写NULL
  • 联合查询(union),可实现对多个select语句的同时查询,并将查询结果作为单个结果集返回。关键词“union”可对结果集进行去重,“union all”不能对结果集进行去重。
  • 交叉连接(corss join),将两个表的交叉连接,返回左表中的所有行,左表中的每一行与右表中的所有行组合,即这两个表所有数据行的笛卡儿积
欢迎大家前来交流!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值