SQL
MySQL
千与千与千
不学无术、一无是处
展开
-
MySql中的=和<=>运算符,hive中的=和<=>运算符
1、Mysql在mysql中,比较两个值是否相等,可以直接使用“=”运算符:#执行语句select 1=1;#运行结果1#执行语句select 1=0;#运行结果0可以看出,在使用“=”运算符进行判断时,如果两者相等则返回1,不相等则返回0但是在判断两个null值时,结果却不是预期的#执行语句select 1=null#执行结果null#执行语句select null=null#执行结果null可以看出,在使用null进行判断时,操作.原创 2021-07-19 10:21:18 · 1436 阅读 · 0 评论 -
MySQL——ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds……
问题:很久没用Mysql了,写了以下建表语句,发现报出如下错误:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1解决:写建表语句时,对于表名和变量名,既不能使用单引号,也不能使用双引号要么什么也不用,要.原创 2021-05-11 10:06:47 · 2099 阅读 · 0 评论 -
SQL(MySQL,SQL Server)更新表——用一张表的部分字段数据更新另一张表
事件:写MySQL语句时,想要实现“使用某一张表中的字段值,更新另一张表中的字段值”的功能两张表结构如下:t1表:t2表:查询资料后,写出如下语句:update t1set aaa=t2.aaafrom t2where bbb=t2.bbb;执行后报错:1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server vers原创 2021-05-12 14:02:35 · 2847 阅读 · 0 评论 -
SQL学习笔记——MySQL——datediff函数(日期间的天数)
1、语法:datediff(date1,date2)2、含义:date1的日期,减去date2的日期,得到两个日期的天数差。3、例子:select datediff('2019-01-09','2019-02-09');+-------------------------------------+| datediff('2019-01-09','2019-02-09') |+-------------------------------------+| .原创 2020-06-21 21:26:09 · 1200 阅读 · 0 评论 -
SQL学习笔记——Operand should contain 1 column(s)
代码:select d.Name as Department,e.Name as Employee,e.Salaryfrom Department as d,Employee as ewhere d.Id=e.DepartmentId and d.Id in (select max(Salary),Employee.DepartmentId from Employee group by Department原创 2020-06-21 11:27:51 · 6899 阅读 · 0 评论 -
SQL学习笔记——Unknown column xxx in having clause
代码:select DepartmentId from Employeegroup by DepartmentIdhaving Salary=max(Salary);报错:Unknown column 'XXXX' in 'having clause原因:having子句在使用时,有一个限制条件,就是必须为group by指定的列。上面group by指定的列为Department,而having子句使用的列为Salary,所以会报出这样的错误。...原创 2020-06-21 10:33:05 · 23367 阅读 · 0 评论 -
SQL学习笔记——count函数(指定列的值数目、表的记录总数、指定列的不重复的值的总数)
count函数返回指定条件的行数。logs表:语法:返回指定列的值的数目,不包括null。count(<列名>);例子:select count(num) from logs;+------------+| count(num) |+------------+| 7 |+------------+语法:返回表中的记录总数。count(*);例子:select count(*) from logs;+----------原创 2020-06-20 10:58:38 · 1961 阅读 · 0 评论 -
SQL学习笔记——if函数、ifnull函数、isnull函数、nullif函数
if函数:1、语法:if(<表达式>,<值1>,<值2>)2、含义:如果表达式成立,则返回值1,表达式不成立,返回值2。3、例子:select if(1=2,3,4) as value;+-------+| value |+-------+| 4 |+-------+select if(1=1,3,4) as value;+-------+| value |+-------+| 3 |+-------+原创 2020-06-19 21:51:10 · 1045 阅读 · 0 评论 -
SQL学习笔记——limit用法(limit使用一个参数,limit使用两个参数)
Product表:limit语法:select <列名>,<列名>,...from <表名> limit <参数值>;select * from product limit 3;+------------+--------------+--------------+------------+----------------+-------------+| product_id | product_name | product_type原创 2020-06-19 21:11:42 · 93630 阅读 · 3 评论 -
SQL学习笔记——集合运算、表的加减运算
1、集合:集合在数据库领域表示记录的集合,用来进行集合运算的运算符称为集合运算符2、表的加法:unionproduct1:product2:加法运算:select product_id, product_namefrom product1unionselect product_id, product_namefrom product2;运算结果:+------------+--------------+| product_id | product_...原创 2020-06-18 21:59:21 · 643 阅读 · 0 评论 -
SQL学习笔记——case表达式
语法:select <列名>,case when <求值表达式> then <表达式> when <求值表达式> then <表达式> when <求值表达式> then <表达式> .. . else <表达式>endfrom <表名>when 子句中的“< 求值表达式>”就是类似“列 = 值”这样,返回值为真值。case 表达式会原创 2020-06-18 21:04:10 · 948 阅读 · 0 评论 -
SQL学习笔记——谓词(like,between,is null,is not null,in ,not in,exists,not exists)
谓词是函数的一种,是需要满足特定条件的一种,该条件就是返回值为真值。1、like谓词,字符串的部分一致查询在查询时可以使用符号“%”和“_”,% 是代表“0 字符以上的任意字符串”的特殊符号,“_”代表了“任意1 个字符”。select *from<表名>where<列名> like 'ddd%';--从这一列中,查询出前面三个字符时ddd的字符串,不管字符串的后面的部分是什么select *from<表名>where<列名> li原创 2020-06-18 16:42:42 · 1093 阅读 · 0 评论 -
SQL学习笔记——函数(函数的基本种类,算数函数,字符串函数,日期函数,转换函数)
1、函数就是输入某一值得到相应输出结果的功能,输入值称为参数,输出值称为返回值。函数分类:算术函数(用来进行数值计算的函数) 字符串函数(用来进行字符串操作的函数) 日期函数(用来进行日期操作的函数) 转换函数(用来转换数据类型和值的函数) 聚合函数(用来进行数据聚合的函数)2、算数函数算数函数是最基本的函数,包含加减乘除四则运算。(numeric是大多数DBMS 都支持的一种数据类型,通过numeric( 全体位数, 小数位数) 的形式来指定数值的大小)1、绝对值函数ab..原创 2020-06-18 15:14:26 · 286 阅读 · 0 评论 -
SQL学习笔记——关联子查询(基本使用,查询语句,执行顺序,使用别名和不使用别名的区别)
在进一步细分的组内进行比较时,需要使用关联子查询。表记录:+------------+--------------+--------------+------------+| product_id | product_name | product_type | sale_price |+------------+--------------+--------------+------------+| 0001 | T恤衫 | 衣服 | 1原创 2020-06-18 10:59:06 · 945 阅读 · 0 评论 -
SQL学习笔记——子查询
1、子查询语法:select product_type, cnt_productfrom ( select product_type, count(*) as cnt_productfrom Productgroup by product_type ) as productSum;--子查询是在from语句中插入select语句--as productSum就是子查询的名称,,但该名称是一次性的,在SELECT 语句执行之后就消失了,在某些DBMS中as可以省略select语句包含嵌套的原创 2020-06-17 20:05:23 · 209 阅读 · 0 评论 -
SQL学习笔记——事务(基本概念,基础语句,四个特性)
1、事务就是需要在同一个处理单元中执行的一系列更新处理的集合,一个事务中包含多少个更新处理或者包含哪些处理,在DBMS 中并没有固定的标准,而是根据用户的要求决定的。begin/start transaction:创建事务。 commit:提交处理。提交事务包含的全部更新处理的结束指令,一旦提交,就无法恢复到事务开始前的状态了。 rollback:取消处理。一旦回滚,数据库就会恢复到事务开始之前的状态。--例子1,创建事务和提交处理start transaction;update prod原创 2020-06-17 16:04:40 · 290 阅读 · 0 评论 -
SQL学习笔记——数据更新update语句的使用
1、update语句的语法。update <表名>set <列名> = <表达式>;--例子:update productset regist_date = '2009-10-10';--将product表中regist_date项全部改为2009-10-102、更新数据时也可以像delete 语句那样使用where子句,这种指定更新对象的update语句称为搜索型update语句update <表名>set <列名>原创 2020-06-17 14:12:10 · 23824 阅读 · 0 评论 -
SQL学习笔记——数据删除delete语句的使用
1、保留数据表,删除全部记录,delete语句的删除对象并不是表或者列,而是记录(行)。delete from <表名>;--例子:delete from product;2、想要删除部分数据行时,可以像select语句那样使用where子句指定删除条件。这种指定了删除对象的delete语句称为搜索型delete。delete 语句中不能使用group by、having和order by三类子句,而只能使用where子句delete from <表名>whe原创 2020-06-17 12:45:13 · 7036 阅读 · 0 评论 -
SQL学习笔记——数据插入insert语句的使用
1、将列名和值用逗号隔开,分别括在()内,这种形式称为清单(列清单和值清单),表名后面的列清单和values 子句中的值清单的列数必须保持一致。insert into <表名> (列1, 列2, 列3, ……) values (值1, 值2, 值3, ……);insert into productIns (product_id, product_name, product_type, sale_price, purchase_price, regist_date) VALUES (原创 2020-06-17 12:11:44 · 1963 阅读 · 0 评论 -
SQL学习笔记——order by子句、desc降序排序
--order by子句语法select <列名1>, <列名2>, <列名3>, ……from <表名>order by <排序基准列1>, <排序基准列2>, ……1、不论何种情况,order by 子句都需要写在select语句的末尾,order by 子句中书写的列名称为排序键2、子句的书写顺序:1. select子句 → 2. from子句 → 3. where 子句 → 4. group by 子句 →5. .原创 2020-06-16 22:20:55 · 12527 阅读 · 0 评论 -
SQL学习笔记——having子句
having子句可以通过指定条件来选取特定组;--having子句用法select <列名1>, <列名2>, <列名3>, ……from <表名>group by <列名1>, <列名2>, <列名3>, ……having <分组结果对应的条件>使用having子句时select语句的顺序:select→ from → where→ group by→ having--例子1:sel.原创 2020-06-16 22:01:14 · 487 阅读 · 0 评论 -
SQL学习笔记——表分组(group by)
1、group by子句:使用group by 子句时,会将表中的数据分为多个组进行处理,在group by 子句中指定的列称为聚合键或者分组列,当聚合键出现null时,也会将null作为一组特定的数据。select type,count(*)from productgroup by type;--解释:如果没有“group by type”这一句,那么统计的是表的所有记录。现在添加“group by type”这一句,会将整个表,按照type进行分组,相同type 的为一组,然后每个组进行原创 2020-06-16 18:27:12 · 1204 阅读 · 0 评论 -
SQL学习笔记——聚合查询(count、sum、avg、max、min、使用聚合函数删除重复值)
聚合函数:通过SQL 对数据进行某种操作或计算时需要使用函数,用于汇总的函数称为聚合函数或者聚集函数。SQL 中还有很多用于汇总的函数,以下是5 个常用的函数,其中max/min函数几乎适用于所有数据类型的列,sum/avg函数只适用于数值类型的列。count: 计算表中的记录数(行数) sum: 计算表中数值列中数据的合计值 avg: 计算表中数值列中数据的平均值 max: 求出表中任意列中数据的最大值 min: 求出表中任意列中数据的最小值1、count函数:count函数将列名作原创 2020-06-16 16:07:18 · 2125 阅读 · 0 评论 -
SQL学习笔记——逻辑运算符(not运算符、and运算符、or运算符、真值)
1、not运算符not运算符表示否定,并且使用范围更广,但not不能单独使用,必须和其他查询条件组合起来使用。select product_name, product_type, sale_pricefrom productwhere not sale_price >= 1000;2、and运算符和or运算符在where子句中使用and运算符或者or运算符,可以对多个查询条件进行组合,and运算符在其两侧的查询条件都成立时整个查询条件才成立,or运算符在其两侧的查询条件有一个成.原创 2020-06-16 15:15:59 · 5817 阅读 · 0 评论 -
SQL学习笔记——运算符(算数运算符,NULL,比较运算符)
1、算术运算符:运算是以一条记录为单位执行的。四则运算符(+、-、*、/)所使用的运算符称为算术运算符,运算符就是使用其两边的值进行四则运算或者字符串拼接、数值大小比较等运算,并返回结果的符号。SQL中也可以像平常的运算表达式那样使用括(),括号中运算表达式的优先级会得到提升,优先进行运算。SQL括号的使用并不仅仅局限于四则运算,还可以用语句的任何表达式当中。--sale_price列的所有值挨个乘以2之后,显示在sale_price_x2中select product_name, sale_.原创 2020-06-16 14:29:23 · 1070 阅读 · 0 评论 -
SQL学习笔记——select语句(基本列的查询、设置列的别名、常数的查询、查询结果删除重复项、使用where)
select从表中选取数据时需要使用select语句,也就是只从表中选出(select)必要数据的意思。通过(select)语句查询并选取出必要数据的过程称为匹配查询或或查询(query)。1、基本列的查询:--查询一列或多列select <列名>,<列名>,... from <表名>;--查询全部的列select * from <表名>;查询多列时,需要使用逗号进行分隔,查询结果中列的顺序和select 子句中的顺序相同 。使用星号进原创 2020-06-16 13:36:28 · 2122 阅读 · 0 评论 -
SQL学习笔记——表的创建、删除、表定义更新、表重命名
1、创建数据库:create database <数据库名称>2、创建一张表:表的命名规则:我们只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称;名称必须以半角英文字母开头;在同一个数据库中不能创建两个相同名称的表,在同一个表中也不能创建两个名称相同的字段。create table <表名>(<列名1> <数据类型> <该列的约束>,<列名2> <数据类型> <该列的约束>原创 2020-06-16 10:30:50 · 480 阅读 · 0 评论 -
SQL学习笔记——基本概念
1、将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库(Database,DB)。2、用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。3、DBMS的种类: 1)、层次数据库(Hierarchical Database,HDB) 2)、关系数据库(Relational Database,RDB) 关系数据库是现在应用最广泛的数据库。它还使用专门SQL(Structured...原创 2020-06-16 09:29:50 · 237 阅读 · 0 评论