最近这几天在一间公司实习,由于坐在我旁边的小哥是搞数据库运维的,想到下学期要进行数据库的学习,于是顺便自学了一下SQL数据库语言
在leetcode上边做题边自学
SQL语言对大小写不敏感!!!
一开始是最基本的筛选输出
使用select语句选择所需要输出的项
使用from语句选择源表
最后使用where语句进行数据的筛选(595.大的国家)
随后题目要筛选出重复项
继续使用select from 只是最后需要使用 having count(项)>1来筛选出所需要的项目(182.查找重复的电子邮箱)
之后还是筛选的题 只是要某项不等于某个字符串,这个时候字符串要记得使用单引号,除此以外相等并不是熟悉的== 而是一个等号=
排序的话使用order by函数 默认从小到大排序 如需从大到小排序则需要加 desc(620.有趣的电影)
对于需要变换的题目
则要 update 表名称
随后使用set = (条件)进行变换(627.交换工资)
对于两个表的组合 则要 select 表名.列名
from哪个表 left join 另一个表 on 由什么条件进行左加
对于不符合条件的项,依旧会左加入另一个表的项,只是会使用缺省值null(175.组合两个表)
对于比较复杂的一个表项关联另一个项并且进行对比的题目,可以使用一些变量进行定义
并且对于表头的变换可以使用select 变量的表项 as 新表头 from 旧表 变量(181.超过经理收入的员工)
在一个新表头中记录旧表1在旧表2中不存在的项目:
新表头:select as from
left join on 左加
在这里并不能使用 选择项=null的做法
(详见数据库查询—is null与= null的区别)
要使用 选择项 is null 才可以正确筛选出所需要的项(183.从不订购的客户)
对某个表中某重复项进行删除,此时由于表中不止一项,所以删除时不能使用distinct
要使用delect语句 delect from (表或者表中项)where(条件)(196.删除重复的电子邮箱)
更多推荐
2018.8.7~8.8SQL数据库学习笔记
发布评论