数据分析练习题一

MYSQL部分

问题1.概述Group by 和Distinct去重的区别

distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计。

单纯的去重操作使用distinct,速度是快于group by的

去重是distinct还是group by?

mysql:distinct, group by 去重用法和区别

问题2.命令行执行insert into语句向表中插入数据报如下错误:

解答:1、检查对应数据库脚本该表是不是utf8编码

ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xD0\xA1\xC3\xF7' for column 'NAME' at row 1解决方案

           2、检查报错的字段(column) 是不是utf8编码

修改MySQL该字段的字符集与整理规则即可。假设数据表为test_01, SQL语句的字符集为utf8,出错的字段为address:

ERROR 1366 (HY000): Incorrect string value: \\xC6\\xF4\\xD3\\xC3 for column name at row 1_sweetgirl520的博客-CSDN博客_mysql5.7incorrect string value: \\xc6\\xf4\\xd3\\xc3

          3、如果上边两条都没问题,直接输入带中文的插入语句发现没报错,那么就说明你的sql文件编码不对

用记事本打开cd.sql,另存为uft8格式文件,重新执行source /cd/example/cd.sql,发现ok。


问题3.MYSQL中where 和and的区别是什么?

解答:在MYSQL中where用来进行条件查询,后面支持多种运算符,进行条件的处理。and是一种逻辑运算符,使用and可以对多个条件进行查询

例:select * from students where age>18 or height>=180;

问题4.left join on and与left join on where的区别

解答:两者放置相同条件,之所以可能会导致结果集不同,就是因为优先级。on的优先级是高于where的。

首先明确两个概念:

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。

在使用left jion时,and和where条件的区别如下:

1、 and条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。和右边的表关联不上,右边表的字段显示null;

2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

left join on 后and 和 where 的区别


PYTHON 部分

问题1:

1  # coding=utf‐8

2  import pandas

执行上面的代码,得到以下的错误提示

1  Traceback (most recent call last):

2  File "/xx/PycharmProjects/xx/xx/errs.py", line 2, in

3  import requests

4  ImportError: No module named pandas

错误提示是什么意思?如何解决报错

解答:还没学到这里。

ImportError: No module named 'pandas'

问题2:

1    # coding=utf‐8

2    value = 9

3   if value % 2 == 1

4      print ("奇数")

5    else:

6    print ("偶数")

执行上面的代码,得到以下的错误提示

1 File "/xx/xx/PycharmProjects/xxx/errs.py", line 4

2 if value % 2 == 1

3 ^

4 SyntaxError: invalid syntax

SyntaxError报错是什么意思?如何解决此报错

解答:“SyntaxError: invalid syntax” 的意思就是 语法错误。应该在if声明后添加英文冒号 即正确语句应该是:if value%2==1:

【python】错误SyntaxError: invalid syntax的解决方法总结

问题3:

1   # ‐*‐ coding:utf‐8 ‐*‐

2  

3   lst = [1, 2, 3]

4   print (lst[3])

执行上面的代码,得到以下的错误提示

1   Traceback (most recent call last):

2   File "/xxx/xxxx/PycharmProjects/error.py", line 4, in

3   print (lst[3])

4   IndexError: list index out of range

为什么会出现上述错误?

解答:查询超出了索引的范围,越界。列表的索引是从0开始的,题中列表索引最大是到2,print(lst[2])

你可能感兴趣的:(数据分析练习题一)