运算符

基本的加减乘除取余都可以在SQL中使用
新建Employee1表并添加数据

create table Employee1
(eid int primary key auto_increment,
name varchar(20),
age int,
salary int,
depart varchar(50),
workage int);

insert into employee1
values (null,'张三',30,10000,'研发部',3),
(null,'李四',22,5000,'市场部',2),
(null,'王五',29,6000,'营销部',3),
(null,'赵六',28,4000,'营销部',3),
(null,'钱七',26,12000,'研发部',4),
(null,'张四',32,9000,'人事部',4),
(null,'张五',22,4500,'策划部',1),
(null,'张六',23,5000,'市场部',2),
(null,'李三',19,3000,'研发部',1),
(null,'李五',26,6000,'人事部',2),
(null,'王三',42,18000,'研发部',20),
(null,'王四',31,13000,'人事部',9),
(null,'王六',27,7000,'人事部',5),
(null,'赵三',23,3500,'市场部',2),
(null,'赵四',36,11000,'策划部',11),
(null,'赵五',25,4000,'人事部',2),
(null,'钱三',24,6000,'研发部',2),
(null,'钱四',44,14000,'策划部',4),
(null,'钱五',32,9000,'市场部',8),
(null,'钱六',50,2000,'研发部',30);

as:修改列名/表名(可隐藏)

select salary/2 as result, salary s
from Employee1;

图太长了截一半了

比较运算符:= > < >= <=

is null/is not nul :l判断是否为空

select *
from Employee1
where depart is not null;

=/<=>:判断两个值是否相等

<=>可以判断两个空值相等
select null <=> null ;

between...and....:在...之间

select *
from Employee1
where salary between 6000 and 12000;

in/not in:是否存在

select *
from Employee1
where depart in ('市场部','人事部');

like:模糊查询

select *
from Employee1
where name like '张%'; //%后面只是占位 不算位数 代表一串字符

select *
from Employee1
where name like '张_'; //_代表一个字符

因为我的表里只有两个字的名字 所以_和%查出的东西是一样的

逻辑运算符

and &&
or ||
not !
xor 异或

& 位与
| 位或
^ 位异或
<< 位左移

位右移
-位取反


函数

常用函数

CONCAT(): 字符串拼接

select CONCAT('我是',name,depart)
from Employee1;

LOWER/UPPER(): 大小写改变

select LOWER('ASERDFTY');
select UPPER('qwertyyu');


INSERT():字符串替换

select INSERT('这是一个字符串',3,5,'试试'); //从第3个开始截5个

SUBSTRING(): 截取子字符串

select SUBSTRING('这是一个字符串',3,5);

CEIL():向上取整

select CEIL(3.3);

FLOOR():向下取整

select FLOOR(3.3);

rand():生成随机数

select rand();

聚合函数

AVG():取平均值

select AVG(salary)
from Employee1;

SUM():求和

select SUM(salary)
from Employee1;

MAX()/MIN():求最大值最小值

select MAX(salary)
from employee1;

select MIN(salary)
from employee1;

COUNT():求数量

select salary,COUNT(*)
from Employee1;

2019.3.25 SQL语句(进阶篇1)的更多相关文章

  1. 2019.3.25 SQL语句(进阶2)

    子查询 数据库中的表沿用 上一篇博客 中使用的Employee1. 练习: 1.求所有年龄比张三小的人 select * from Employee1 where age < (select a ...

  2. 2019.3.22 SQL语句(基础篇)

    SQL语句 创建一个数据库: create database+数据库名; 使用数据库: use+数据库名; 查看mySQL中有哪些数据库: show databases; 删除数据库 drop dat ...

  3. 【目录】sql server 进阶篇系列

    随笔分类 - sql server 进阶篇系列 sql server 下载安装标记 摘要: SQL Server 2017 的各版本和支持的功能 https://docs.microsoft.com/ ...

  4. sql语句进阶教程

    转载自:http://blog.csdn.net/u011001084/article/details/51318434 最近从图书馆借了本介绍SQL的书,打算复习一下基本语法,记录一下笔记,整理一下 ...

  5. 一些能体现个人水平的SQL语句[总结篇]

    作为一名小小的开发人员,刚入门的时候觉得很难,过了一段时间之后,发现很简单,很快就可以搞定很bug了.然而这并不能说明你就已经很牛掰了,只能说,你不了解其他太多的东西.应该说,数据库有几个共同的命令, ...

  6. Sql效能优化总结(续)- sql语句优化篇

    今晚继续进行Sql效能问题的分享,今天主要是一些具体的sql优化方法和思路分享,若看过后你也有其他想法,欢迎一起探讨,好了,进入今天的主题. 针对性地对一些耗资源严重的具体应用进行优化 出现效能问题时 ...

  7. Magento用SQL语句开发篇

    有时为了调试magento,需要获取当前的查询sql语句,在magento中获取SQL语句,这里我们通过$collection->getSelectSql(true)来调试sql 1 $coll ...

  8. 2019.3.26 SQL语句(进阶3)

    表的联查 员工表与部门表 员工表:id,姓名,年龄,部门id 部门表:部门id,部门名,部门成立时间,部门领导,部门职责.... 表和表之间的关系 一对一 一对多 多对多 创建联查 创建表 先创建被依 ...

  9. mysql数据库基础SQL语句总结篇

    常用的sql增删改查语句 创建数据库:create database db_name character set utf8;删除数据库:drop database db_name;切换数据库:use ...

随机推荐

  1. 分享一个好用的功能强大的节点树jQuery插件

    http://www.treejs.cn/

  2. try-catch-finally对返回值的影响

    catch 和 finally 一起使用的常见方式是:在 try 块中获取并使用资源,在 catch 块中处理异常情况,并在 finally 块中释放资源. finally 块用于清理try块分配的任 ...

  3. python 读取mysql存储的文件路径下载文件,内容解析,上传七牛云,内容入es

    #!/usr/bin/env python # -*- coding: utf-8 -*- import ConfigParser import json import os import re fr ...

  4. 异常:已捕获: "Error creating context 'spring.root': 未将对象引用设置到对象的实例。" (System.Configuration.ConfigurationErrorsException) 捕获到一个 System.Configuration.ConfigurationErrorsException: "Error creating context 'sp

    查看所指定name的context是否注册成功,以后用此容器来获取其中的object. 常见的使用方式: Application_Start中使用ContextRegistry.GetContext( ...

  5. jquery.validate弹窗验证

     $(document).ready(function () { //开始验证        $("#form1").validate({            submitHan ...

  6. 转载:java中抽象类和接口的作用与区别

    abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和inte ...

  7. ubuntu14.04,安装docker(源代码管理工具)

    一,安装docker: 1,安装curl:在shell中执行:sudo apt-get install curl 2,shell中执行:curl -sSL https://get.daocloud.i ...

  8. Visual odometry and zed's IMU fusion on RTAB-Map

    "When using /camera/odom, you don't need to use visual_odometry node. rtabmap should be subscri ...

  9. IIS发布的网页上传文件被拒绝

    在IIS所在的服务器共享的权限(如下图示,但注意不是加everyone)和共享文件夹的权限里都加上IIS_USER完全控制,如果不行再加上NETWORK SERVICE权限

  10. 特殊用途语言特性(默认实参/内联函数/constexpr函数/assert预处理宏/NDEBUG预处理变量)

    默认实参: 某些函数有这样一种形参,在函数的很多次调用中它们都被赋予一个相同的值,此时,我们把这个反复出现的值称为函数的默认实参.调用含有默认实参的函数时,可以包含该实参,也可以省略该实参. 需要特别 ...