SQL进阶
北冥SP
这个作者很懒,什么都没留下…
展开
-
sql中的if和else
MySQL的IF既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:IF表达式IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。SELECT IF(sva=1,"男","女") AS s FROM table_name WHERE sva原创 2020-06-11 09:42:17 · 54278 阅读 · 0 评论 -
mysql中字符串截取函数总结
1、从左开始截取字符串left(str, length) 说明:left(被截取字段,截取长度)例:select left(content,200) as abstract from my_content_t 2、从右开始截取字符串right(str, length) 说明:right(被截取字段,截取长度)例:select right(content,200) as abstract from my_content_t 3、截取字符串substring(str, pos) su原创 2020-06-01 18:35:52 · 804 阅读 · 0 评论 -
sql常用的增删改查基础操作及函数扩展
基础的增删改查操作1.增操作1.insert into 表名 set name='stu1',age=19;2.insert into表名 (name,age) VALUES('stu2',20) ;3.insert into表名 (name,age) VALUES('stu3',20),('stu4',21),('stu5'.22);2.删除操作1.delete from...原创 2019-10-17 12:52:54 · 679 阅读 · 0 评论 -
sql语句进阶(一) TOP LIKE IN
一.SQL SELECT TOP–前5行select top 5 * from table–后5行select top 5 * from table order by id desc --desc 表示降序排列 asc 表示升序二.like和通配符1.% 替代一个或多个字符2._ 仅替代一个字符3.[charlist] 字符列中的任何单一字符4.[^charlist]或者[...原创 2019-11-20 19:42:45 · 505 阅读 · 0 评论 -
sql语句进阶(二) BETWEEN 别名
一.SQL BETWEEN下面的 SQL 语句选取 alexa 介于 1 和 20 之间的所有网站:SELECT * FROM WebsitesWHERE alexa BETWEEN 1 AND 20;下面的 SQL 语句选取 alexa 介于 1 和 20 之间但 country 不为 USA 和 IND 的所有网站:SELECT * FROM WebsitesWHERE (ale...原创 2019-11-21 14:15:01 · 300 阅读 · 0 评论 -
浅析MySQL中concat以及group_concat的使用
说明:本文中使用的例子均在下面的数据库表tt2下执行:一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,…)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。3、举例:例1:select concat (id, name, score) as info from tt2;中间有一行为nu...转载 2019-11-22 10:28:15 · 182 阅读 · 0 评论 -
sql语句进阶(三) 链接JOIN
SQL 连接(JOIN)SQL join 用于把来自两个或多个表的行结合起来。下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。SQL JOINSQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)。 SQL INNE...原创 2019-11-23 14:34:16 · 320 阅读 · 0 评论 -
sql语句进阶(四) INNER JOIN和LEFT JOIN(常用)
一.SQL INNER JOININNER JOIN 关键字在表中存在至少一个匹配时返回行。SQL INNER JOIN 语法SELECT column_name(s)FROM table1INNER JOIN table2ON table1.column_name=table2.column_name;或:SELECT column_name(s)FROM table1JO...原创 2019-11-23 16:07:10 · 1850 阅读 · 0 评论 -
sql语句进阶(五) RIGHT JOIN FULL OUTER JOIN
一.SQL RIGHT JOINSQL RIGHT JOIN 关键字RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。SQL RIGHT JOIN 语法SELECT column_name(s)FROM table1RIGHT JOIN table2ON table1.column_name=t...原创 2019-11-23 17:18:31 · 232 阅读 · 0 评论 -
sql语句进阶(六) SQL UNION
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。1.SQL UNION 语法SELECT column_name(s) FROM table1UNIONSELECT column_name(s...原创 2019-11-25 14:52:56 · 365 阅读 · 0 评论 -
SQL进阶(七) SELECT INTO和INSERT INTO SELECT
SELECT INTO通过 SQL,您可以从一个表复制信息到另一个表。SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。注意:MySQL 数据库不支持 SELECT … INTO 语句,但支持 INSERT INTO … SELECT 。当然你可以使用以下语句来拷贝表结构及数据:CREATE TABLE 新表ASSELECT * FROM 旧表 SQL...原创 2019-11-25 15:17:45 · 1250 阅读 · 3 评论 -
SQL进阶(八) SQL CREATE DATABASE 和 SQL CREATE TABLE
一.SQL CREATE DATABASE 语句SQL CREATE DATABASE 语句CREATE DATABASE 语句用于创建数据库。1.SQL CREATE DATABASE 语法CREATE DATABASE dbname;2.SQL CREATE DATABASE 实例下面的 SQL 语句创建一个名为 “my_db” 的数据库:CREATE DATABASE my_...原创 2019-11-25 15:48:46 · 1041 阅读 · 0 评论 -
SQL进阶(九) 约束(Constraints)
SQL 约束(Constraints)SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。QL CREATE TABLE + CONSTRAINT 语法CREATE TABLE table_name(column_name1 dat...原创 2019-11-26 14:18:21 · 195 阅读 · 0 评论 -
SQL进阶(十) SQL 函数
SQL 函数SQL 拥有很多可用于计数和计算的内建函数。1.SQL Aggregate 函数(聚合)SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。有用的 Aggregate 函数:AVG() - 返回平均值COUNT() - 返回行数FIRST() - 返回第一个记录的值LAST() - 返回最后一个记录的值MAX() - 返回最大值MIN() - 返...原创 2019-11-26 15:00:43 · 262 阅读 · 0 评论 -
SQL进阶(十一) 函数 --- Aggregate
SQL Aggregate 函数(聚合)SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。一.AVG() 函数AVG() 函数返回数值列的平均值。SQL AVG() 语法SELECT AVG(column_name) FROM table_name二.SQL COUNT() 函数1COUNT() 函数返回匹配指定条件的行数。1.SQL COUNT(column...原创 2019-11-27 13:48:00 · 718 阅读 · 1 评论 -
SQL进阶(十二) 函数--- Aggregate拓展应用
一.SQL GROUP BY 语句GROUP BY 语句可结合一些聚合函数来使用GROUP BY 语句GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。SQL GROUP BY 语法SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operat...原创 2019-11-27 14:04:54 · 1230 阅读 · 0 评论 -
SQL进阶(十三) 函数(二) ------ Scalar
函数 ------ ScalarSQL Scalar 函数基于输入值,返回一个单一的值。SQL UCASE 函数SQL LCASE 函数SQL MID 函数SQL LEN 函数SQL ROUND 函数SQL NOW 函数SQL FORMAT 函数演示数据库:person表:1.SQL UCASE() 函数UCASE() 函数把字段的值转换为大写。SQL UCASE(...原创 2019-12-02 17:01:58 · 337 阅读 · 0 评论 -
SQL进阶(十四)使用两次join实例
题目:查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工CREATE TABLE departments (dept_no char(4) NOT NULL,dept_name varchar(40) NOT NULL,PRIMARY KEY (dept_no));CREATE TABLE dept_emp (emp_no...原创 2019-12-18 17:07:07 · 3624 阅读 · 0 评论 -
sql插入后返回id
在使用mybatis时,常常会出现这种需求:当主键id是自增的情况下,添加一条记录的同时,其主键id是不能使用的,当我们取出主键id的值发现id为null,但是有时我们需要该主键,这时我们该如何处理呢?这时我们只需要在其对应xxxmapper.xml中加入以下属性即可:keyColumn="id" keyProperty="id" useGeneratedKeys="true"...原创 2020-02-23 00:26:18 · 6419 阅读 · 0 评论 -
SQL进阶(十五)SQL查询最近1天、7天、30天、本月、上一月数据
需更换表名,字段名(creaTtime)几个小时内的数据SELECT * FROM 表名 WHERE DATE_SUB(NOW(), INTERVAL 5 HOUR)今天SELECT * from 表名 where to_days(createTime) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO...原创 2020-02-29 17:50:59 · 1929 阅读 · 0 评论 -
sql server order by 的一些高级用法
SQL SERVER数据库中order by的一些高级用法本文章属于转载文章,原博客地址为:https://blog.csdn.net/dieyingao/article/details/4196142先创建一个表create table ai(id int not null,no varchar(10) not null)go往表中插入数据insert into aisele...转载 2020-04-26 22:53:59 · 1820 阅读 · 0 评论 -
SQL截取数据库某个字段中的一部分,SUBSTR()函数
substr()函数作用:用来截取数据库某个字段中的一部分。用法一:SBUSTR(str,pos);就是从pos开始的位置,一直截取到最后。用法二:SUBSTR(str,pos,len);这种表示的意思是,就是从pos开始的位置,截取len个字符(空白也算字符)。PS:如果pos为1(而不是0),表示从第一个位置开始。例子:SUBSTR(shop_order.createt...原创 2020-05-08 16:05:57 · 17811 阅读 · 1 评论 -
MYSQL时间相关函数总结(一) 时间差函数 timestampdiff、datediff、timediff
一、时间差函数:timestampdiff语法:timestampdiff(interval, datetime1,datetime2)结果:返回(时间2-时间1)的时间差,结果单位由interval参数给出。interval参数意义frac_second毫秒(低版本不支持,用second,再除于1000)second秒minute分钟hour小时day天week月quarter季度year年ps:注意:MySQL 5原创 2020-05-13 18:32:49 · 3169 阅读 · 0 评论 -
MYSQL时间相关函数总结(二) 日期、时间戳、字符串互相转换
日期、时间戳、字符串互相转换#时间日期转字符串 相当与Oracle中的to_char函数select date_format(now(), '%Y-%m-%d'); #结果:2017-02-27#时间转时间戳select unix_timestamp(now()); #结果:1488160428#字符串转时间select str_to_date('2017-02-27', '%Y-%m-%d %H'); #结果:2017-02-27 00:00:00select str_to_da原创 2020-05-13 18:38:15 · 663 阅读 · 0 评论