开局先来一首打油诗:
有人问怎么学会编程?
日撸代码一百行,烂泥也能扶上墙。
别管方法好与烂,拿起键盘就是干。
首先总结性回答:SQL从零到入门,我花了3天左右吧,觉得长?因为我零基础啊!但大家看这总结相信可以一个小时内熟悉概念后进一步深造提升的,下面且听我慢慢道来。
一、总纲
看官们大概看看即可,其实就是我初时的学习笔记,如有错误请指正。
二、入门路径,查询
1、表格结构
2、基础句型
SQL句型特别少,入门查询到人生第一条信息只需要背下这个最基础句型即可:(注意看
注释)
Select col, --找什么内容(col) col,colFrom table --从哪里找(此处一般输入表名) where 1 --有什么条件(1代表无) --此处是运算顺序说明:From→where →Select ; --白话意思就是:先找到对应的表(table),再按(where)要求Select出我们想要的数据内容。
案例:当需要查小白的身高和体重
Select 姓名, 身高, 体重 From table where 姓名 = '小白'
3、书写规则
· SQL语句不区分关键字大小写
· 符号必须是英文
· Select最后一个col不需要逗号
4、表的连结(join)
基础句型案例描述了单个表的查询方式,那么当遇到需要查询两个表格的信息怎么办?
join的定义:用于将两个/多个表的行结合起来
主要的用法有以下,一图完成说明:(left join(最常用);right join;corss join;inner join;full join)
简单转为白话描述一下,不想看图可看下列内容:
· left join:左连接,保留左表所有col(最常用);
· right join:右连接,保留右表所有;
· colcorss join:交叉连接,即左表和右表和右表所有内容都对应合并;
· inner join:内连接,左右表重合信息合并在一起;
· full join:全连接,左右表所有内容都拼接在一起,空值则为null;
案例:通过left join 连结两个表个内容
Select a.序号, a.内容, a.项目 from table1 as a left join table as b on a.序号 = b.序号 where 1; /* as的作用是重命名,意义在于避免重复输入冗长的表名; 注意重命名之后为了避免重复的col名称查询到,最好将简写表名写到col前,具体参照此案例; 注意 join 后需要加条件(on) XX = XX,即通过此条件连结两个表 而斜杠星号则是多行注释的作用 */
三、运算符
通过第一、二节想必已经了解的表格基础的查询方法,但当需要对信息进行处理时候怎么办?
老规矩先看汇总图表:
1、算数运算符,处理对象是数字
案例:加减乘除同操作方式
Select 1+2
2、比较运算符,判断表中的记录是否符合条件,是则返回真值。
案例:用“=”打比方
Select 序号, 内容 from table1 where 序号 = '1' --即只返回序号等于1的序号和内容
3、逻辑运算符
案例:用“and" 打比方
Select 序号, 项目 from table2 where 序号 = '1' and 日期 = '0324'
四、函数
1、汇总函数(结合group by 一起用)
· count(col):计数;
· sum(col):求和;
· avg(col):求平均;
· max(col):求最大;
· min(col):求最小;
2、算术函数
· round(数值,保留小数的位数) :作用是四舍五入;
· abs(数值):作用是求绝对值;
· mob(被除数,除数) :作用是求余数;
3、字符串函数
length(字符串)计算字符长度
lower(字符串)大写转小写
upper(字符串)小写转大写
concat(字符串1,字符串2)字符拼接
replace(字符串,被替掉字符串,用什么内容替换)
4、日期函数
· current_date:当前日期;
· current_time:当前时间;
· Year(日期):获取日期年份;
· Month(日期):获取日期月份;
· Day(日期):获取日期;
· Dayname(日期):获取日期对应周几;
----------------------------------------------------------------------------
以上,相信看完的你对SQL已经有了最基础的概念啦,感谢能看到这里!
如果想要更详细的各种运算符实例,函数实例,可私信我。
如有需要后续再更新,再见!
有不少同学私信我问推荐什么教程,我就推荐一本书《SQL必知必会》,很合适零基础看,更重要的是入门了多写写,进步肯定很明显的。
全文完。