SQL
––
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SQL刷题笔记——GROUP_CONCAT()函数
GROUP_CONCAT()函数 1.完整语法 group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) -- 13、查询和"01"号的同学学习的课程完全相同的其他同学的信息 SELECT Student.* FROM Student WHERE s_id IN (select s_id from score GROUP BY s_id HAVING s_i原创 2020-06-04 20:29:17 · 346 阅读 · 0 评论 -
SQL进阶学习——列转行
列转行 一、使用UNION ALL 1.原始数据:(4个季度的销售金额分为四列) 给定一个公司所有员工各个季度销售金额的表格employee_sales: 2.查询语句 问题:依据 employee_id,把四个字段的数据放到一个字段中。 思路:可以先查询出四个字段,然后用UNION ALL 组合。 SELECT employee_id,employee_name,'一季度',sales_amount_q1 from employee_sales UNION ALL SELECT .原创 2020-06-02 11:57:46 · 531 阅读 · 0 评论 -
SQL进阶学习——行转列
行转列 一、找出每个同学的各科成绩 SELECT student_id,student_name MAX(CASE WHEN subject_name = '高等数学'THEN score ELSE 0 END) AS'高等数学', MAX(CASE WHEN subject_name = '机械原理'THEN score ELSE 0 END) AS'机械原理', MAX(CASE WHEN subject_name = '概率论'THEN score ELSE 0 END) AS'概率论', MA原创 2020-06-01 21:34:50 · 263 阅读 · 0 评论 -
SQL必知必会补充学习——CASE WHEN逻辑转换
CASE WHEN逻辑转换 语法一、适用于条件表达式为一定的范围 CASE WHEN 条件表达式1 THEN 结果表达式1 CASE WHEN 条件表达式2THEN 结果表达式2 ... ELSE END 例:根据交易数量,判断大单中单小单 SELECT volume, CASE WHEN volume>=3000 THEN '大单' WHEN volume>300 AND volume<3000 THEN '中单' ELSE '小单' END FR.原创 2020-06-01 16:55:24 · 576 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第十六课 更新和删除数据
第十六课 更新和删除数据 一、更新数据 (1)SET命令将新值赋给被更新的列 UPDATE inf SET age = '69', city = 'F' WHERE id = 5; 二、删除数据 (1)delect from指定要删除数据的表名;WHERE子句过滤要删除的行 DELETE FROM score2 WHERE id = 1; ...原创 2020-05-20 10:20:32 · 248 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第十五课 插入数据
第十五课 插入数据 一、数据插入 1.插入完整的行 (1)注意:给出列名更安全 INSERT INTO score VALUES( '7', '55', '7' ); INSERT INTO score( id, score, rank ) VALUES( '8', '54', '8' ); (1)注意:被忽略的行允许NULL值;表定义中要给出默认值 INSERT INTO score( id ) VALUES( '9' ); 3.插入检索出的数据 (1)注意:可以使用WHERE,.原创 2020-05-20 08:57:45 · 237 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第十四课 组合查询
第十四课 组合查询 一、组合查询 1.使用情况 (1)在一个查询中,从不同的表返回结构数据 (2)对一个表执行多个查询,按一个查询返回数据 二、创建组合查询 1.使用UNION (1)对一个表执行多个查询,按一个查询返回数据 (2)注意:对于复杂的过滤条件或从多表检索数据时,UNION更简单。 SELECT id, age, gender FROM inf WHERE city in ('C','D') UNION SELECT id, age, gender FROM inf WHE.原创 2020-05-20 08:21:57 · 274 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第十三课 创建高级连结
第十三课 创建高级连结 一、使用表别名 二、使用不同类型的连结 1.自连结 (1)自连结用来替代从相同表中检索数据所使用的子查询语句 SELECT i1.id, i1.age, i1.city FROM inf as i1,inf as i2 WHERE i1.city = i2.city AND i2.name = 'allen' ; 2.自然连结 SELECT score.*, inf.id, inf.age, inf.city FROM inf LEFT OUTER JOIN原创 2020-05-14 22:18:39 · 218 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第十二课 连结表
第十二课 连结表 一、创建连结 SELECT inf.id, age, rank FROM inf,score WHERE inf.id = score.id; 注意 WHERE inf.id = score.id 作为过滤条件,没有的话会输出笛卡尔积。 二、内连结 SELECT inf.id, age, rank FROM inf INNER JOIN score ON inf.id = score.id; INNER JOIN的连结条件使用ON子句达到与WHERE一样的效果 ...原创 2020-05-14 21:38:10 · 227 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第十一课 使用子查询
第十一课 使用子查询 一、子查询过滤 SELECT id,rank FROM score WHERE id in (SELECT id FROM inf WHERE age = 22) 注意:子查询只能是单列 二、作为计算字段 SELECT id, age, (SELECT COUNT(*) FROM score WHERE inf.id = score.id) AS c_score FROM inf ORDER BY age; ...原创 2020-05-14 20:46:14 · 215 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第十课 分组数据
第十课 分组数据 一、创建分组 Group BY SELECT age, gender, city FROM inf GROUP BY age ; 二、过滤分组 HAVING 注意:having过滤分组;where过滤行 SELECT age, gender, city FROM inf WHERE age>23 GROUP BY age HAVING gender >=1 ; 三、分组和排序 注意:GROUP BY 只能对SELECT列使用;order by 对所有列都.原创 2020-05-13 18:56:18 · 172 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第九课 汇总数据
第九课 汇总数据 一、聚集函数 (1)定义:对某些航运行的函数,计算并返回一个值 1.1 AVG SELECT AVG(age) AS avg_age FROM inf WHERE YEAR(birthday) = 2020 ORDER BY id; 1.2count函数 (1)对age列非NULL的行进行计数 SELECT count(age) AS num_age FROM inf WHERE YEAR(birthday) = 2020 ORDER BY id; (2)对表...原创 2020-05-13 18:40:26 · 207 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第八课 使用函数处理数据
第八课 使用函数处理数据 一、文本处理函数 (1)LEFT() LENGTH() LOWER LTRIM() RTRIM() RIGHT() UPPER() (2)SOUNDEX() 将文本转语音 P67 二、日期和时间处理函数 SELECT age FROM inf WHERE YEAR(birthday) = 2020 ORDER BY id; MYSQL里用yea...原创 2020-05-13 18:14:46 · 224 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第六课 用通配符进行过滤
第六课 用通配符进行过滤 一、LIKE操作符 (1)定义:用来匹配值的一部分的特殊字符 (2)搜索模式:由字面值、通配符或者两者组合构成的搜索条件,如:WHERE name LIKE '%a%' 1.1 百分号(%)通配符 SELECT name, gender FROM inf WHERE name LIKE '%a%'; (1)注意:区分大小写、匹配不了NULL 1.2下划线(—)通配符 SELECT name, city FROM inf WHERE city LIKE '..原创 2020-05-13 10:15:27 · 203 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第七课 创建计算字段
第七课 创建计算字段 一、计算字段 1.1 字段 (1)在数据库中列一般被称为字段 (2)SQL计算字段比在客户端更快 二、拼接字段 SELECT CONCAT(RTRIM(NAME),' (' ,RTRIM(city),')') AS name_city FROM inf ORDER BY name; (1)拼接(cancatenate——[kənˈkætnˌeɪt]) (2)MySQL中用Concat( , ) (3)TRIM函数去除空格,RTRIM()去右边,LTRIM()去右边.原创 2020-05-13 09:10:01 · 272 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第五课 高级过滤数据
第五课 高级过滤数据 一、组合WHERE子句 1.1 AND操作符 SELECT id,age,gender FROM inf WHERE age = 22 AND gender =1; AND都要符合 1.2 OR操作符 SELECT id,age,gender FROM inf WHERE age BETWEEN 16 AND 30 or gender =1; OR子句任意条件匹配即可 1.3 求值顺序 SELECT id,age,gender FROM inf WHER...原创 2020-05-12 21:53:51 · 180 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第四课 过滤数据
第四课 过滤数据 一、 使用WHERE子句 SELECT id,age,city FROM inf WHERE age>20 ORDER BY 2 ,3 DESC; 注意: (1)WHERE子句同样在FROM子句之后给出 (2)order by 子句同样放在最后 二、WHERE子句操作符 1.检查单个值 SELECT id,age,city FROM inf WHERE age>20 ORDER BY 2 ,3 DESC; 2.不匹配度检查 SELECT id,ag..原创 2020-05-12 21:31:57 · 226 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第三课 排序检索数据
第三课 排序检索数据 3.1 排序数据 SELECT score FROM score ORDER BY rank; 注意: (1)SQL语句由很多子句构成。 (2)ORDER BY子句须在最后。 3.2按多个列排序 SELECT id,age,city FROM inf ORDER BY age,city; 注意: (1)优先按照age排序,当且仅当age相同时按照city排序 3.3 按列位置排序 SELECT id,age,city FROM inf ORD...原创 2020-05-12 20:58:08 · 162 阅读 · 0 评论 -
《SQL必知必会》学习笔记——第一课 了解SQL
第一课 了解SQL 一、数据库基础 1.1 数据库 (1)定义:保存有组织的数据的容器(通常是一个文件或一组文件) (2)注意:数据库软件,如MySQL,应称为数据库管理系统(DBMS),而数据库是通过DBMS创建和操纵的容器。 1.2 表 (1)定义:某种特定类型数据的结构化清单。 (2)注意:同一类型的数据或清单 (3)模式:关于数据库和表的布局及特性的信息 1.3 列和数据类型 (1)列:表中的一个字段 (2)数据类型:每个列所允许的数据的类型,起限制作用 1.4 行 (1)原创 2020-05-12 19:38:41 · 235 阅读 · 0 评论 -
SQL join
1. SELECT count(t.companyId)/count(1) FROM data.dataanalyst as d #where companyId = ( #select companyId from data.company #where companyShortName = '唯医网' #) left join (SELECT * FROM data.company whe...原创 2019-03-30 11:53:52 · 256 阅读 · 0 评论 -
SQL函数
1.left/locate,函数组合获取薪资下限 SELECT left(salary,locate('k',salary)-1), salary FROM data.dataanalyst; 8 8k-15k 20 20k-40k 10 10k-18k 8 8k-16k 10 10k-18k 15 15k-30k 16 ...原创 2019-03-30 10:30:08 · 181 阅读 · 0 评论 -
SQL:Group by
1.Group by 对数据进行分组,类似于Excel里的数据透视表 1.1 SELECT city,count(positionId),count(1),count(*) FROM data.dataanalyst group by city output: 上海 979 979 979 北京 2347 2347 2347 南京 ...原创 2019-03-26 11:13:51 · 297 阅读 · 0 评论 -
SQL条件查找
1. SELECT * FROM data.dataanalyst where (city = '上海' and education = '本科') or (city = '北京' and education = '硕士') 2. SELECT * FROM data.dataanalyst where secondType like '后端%' ...原创 2019-03-26 10:17:59 · 554 阅读 · 0 评论
分享