摘要:有两种情况可能会导致for循环结束。第一个是for循环中满足条件遇到 break ,第二种情况是循环自然结束。现在我们可能想知道其中的哪一个是循环完成的原因,一种方法是设置一个标志,然后在循环结束时检查它,另一个是使用该 else 子句。 for item in container: if sear
阅读全文
摘要:python 中有None,没有null None None表示一个没有意义的对象,它是NoneType类的对象,但是它是一个具体的值。正因它是一个具体的值,所以它可以用来初始化变量,例如它能为变量a赋值;告诉你的是当前变量a绑定的是一个没有意义值。 [],''等都不是None。None和任何对象比
阅读全文
摘要:##“in”的存在使得python在操作可迭代对象时简单得多,这便是“in”存在的一个最大的好处 ###1.用于判断(查找)元素是否在可迭代对象中(不包括生成器;但包括set集合,set不能迭代,但是也能用“in”来查找元素): xxx in XXX :判断xxx是否在XXX中, 如果在,返回真,不
阅读全文
摘要:python中有两种排序方法,list内置sort()方法或者python内置的全局sorted()方法 区别为: sort()方法对list排序会修改list本身,不会返回新list。sort()只能对list进行排序。 sorted()方法会返回新的list,保留原来的list。sorted 可
阅读全文
摘要:不可变数据类型: 字符串是不可变数据类型,但一些性质类似列表(每个位置都有索引),但因为是不可变数据类型,字符串生成了就不能发生改变(不能 str[0]='d'),有些字符串方法‘改变了’,只是因为生成了一个新的不一样的字符串,原字符串并没有改变 字符串截取(字符串有索引和数组一样) str[beg
阅读全文
摘要:如果需要查询的字段列表属于多张表,则使用连接查询(from a,b、LEFT JOIN) 如果需要查询的字段列表属于一张表,但筛选条件跨多张表,可以层层嵌套子查询
阅读全文
摘要:时间格式转换 标准时间格式: 2017-05-12 11:41:55 -- 字符串转换为日期函数:str_to_date(str, format) SELECT STR_TO_DATE('06.05.2017 19:40:30', '%m.%d.%Y %H:%i:%s');-- 2017-06-05
阅读全文
摘要:加序号函数row_number()、rank()和dense_rank() 加序号函数 over()中必须有order by排序 row_number() row_number() OVER([partition by...] order by...) 为一个分区中的每行记录按顺序生成一个唯一的行号
阅读全文
摘要:窗口函数 OVER([partition by...] [order by...])两种用法 over()函数限制作用范围,单独使用表全部没有意义 中间要有partition by...或order by 一般都有:先分区然后再区中排序 OVER(partition by... order by..
阅读全文
摘要:分区函数 patition by group by是分组函数,partition by是分区函数 partition by并没有group by的汇总功能。 partition by统计的每一条记录都存在,而group by将所有的记录汇总成一条记录(类似于distinct EmpDepartmen
阅读全文
摘要:聚合函数对null值的处理 1、count():求表的行数或者指定表中某个列的列值行数,null值被忽略。 select count(字段) from 表名; --得到该列值的非null值的行数 select count(*) from 表名; --用于统计整个表的行数。任何行,只要有一行非null
阅读全文
摘要:聚合函数位置 聚合函数可以应用于查询语句的SELECT中,或者HAVING子句中,并结合group by使用。注意:不可用于WHERE语句中,因为WHERE是对逐条的行记录进行筛选。 select 语句后 以及(子查询或外部查询) having 子句后
阅读全文
摘要:子查询必须用括号括起来 from 后的子查询 必须起别名 select 和 where 后的子查询可以起别名也可以不起。
阅读全文
摘要:相关子查询 相关子查询的执行依赖于外部查询。多数情况下是子查询的WHERE子句中引用了外部查询的表。 例1: SELECT empno,ename,sal,deptno,(SELECT AVG(sal) FROM t_emp WHERE deptno = a.deptno) AS avgSal FR
阅读全文
摘要:子查询位置 1. select (子查询) as 别名 from table 第一种:在select后面 只能返回一个值 可以传递from后面表的参数进去,表示查询出来的每一行数据都是由这个查询当做一列的。 2. select from (子查询) as 别名 from table 第二种:在fro
阅读全文
摘要:mysql 语句执行顺序 from join on where group by having select order by limit 解释 from :表连接 left join on :表连接,并筛选(左表全有,右表符合条件有) where :连接后筛选 group by :连接筛选后进行分
阅读全文
摘要:where 和 having区别 where 和 having 的区别? 1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来 2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。 where 和
阅读全文
摘要:分组查询 group by 字段 将查询结果按照某个字段进行分组,字段值相同的为一组 其实就是按照某一列进行分类 分组查询的作用 单独使用分组没有任何用处,因为单独只分组不进行下一步操作,结果返回每个分组的第一行(没有意义) group by 后有后续处理: 一般来说 你按照什么字段分组 后续就处理
阅读全文
摘要:外连接 左外连接,关键字: table1 LEFT OUTER JOIN table2 on 条件 where 条件 左外连接结果 = 内连接 + 左边表中失配的元组 结果包括左表中的所有数据行,和右表中符合连接条件的行,不符合条件的空用NULL。 外连接 on 和where区别 数据库在通过连接两
阅读全文
摘要:自连接 表连接自己,通过某个条件 Id | Name | Salary | ManagerId + + + 1 | Joe | 70000 | 3 2 | Henry | 80000 | 4 3 | Sam | 60000 | NULL 4 | Max | 90000 | NULL 例子:查找收入超
阅读全文
摘要:input()方法 input() 函数总是以字符串的形式从控制台来处理用户输入的内容,以回车键为结束,读取为一个长字符串。 a = input() b = input("Enter another number: ") split()方法 str.split()分隔字符串,并以列表返回 str.s
阅读全文
摘要:map() map()是python的内置函数,返回一个可迭代对象 map(方法1,可迭代对象) 将可迭代对象(如list)的每一个元素用方法1处理,并返回一个可迭代对象(不是list,但可用list将可迭代对象转化为list) #常用操作 def f(x): return x + 2 list1
阅读全文
摘要:Python中关于对象复制有三种类型的使用方式,赋值、浅拷贝与深拷贝。 一、赋值 在python中,对象的赋值就是简单的对象地址引用。如下: a = [1,2,3,"hello",["python","C++"]] b = a print a==b #True 这种情况下,b和a是一样的,他们指向同
阅读全文
摘要:常规读取list中数据 # 使用索引 list=[1,2,3] a=list[1] # 循环遍历 for i in list: print(i) 可迭代对象快速赋值 a,b,c = list #这种方式只有当左边的操作数个数和list长度相同,也就是list长度已知且不变 v1, v2, v3, …
阅读全文
摘要:列表的中的项可以是不同的类型 创建列表 List = ['wade','james','bosh',123] 可以创建空列表 list添加新元素 List.append('allen') 方式一:向list结尾添加 参数object a=[1,2,3,4] a.append(5) print(a)
阅读全文