-- 单列查询
select 编号 from employees -- 多列查询
select 编号,姓名 from employees -- 查询所有列
select * from employees -- 将查询结果创建新表
select 编号,姓名 into 新表 from employees -- 为查询结果的列创建别名
select 编号 学号 , 姓名 as 昵称 , 出生日期 = 生日 , 地址 '家庭住址', 电话 "家庭电话" from employees -- 多表查询设置别名
SELECT employees.[姓名] , [ Salary ].收入 as 工资 FROM employees , [ Salary ] where [ Salary ].[编号]=employees.[编号] -- 为计算结果设置别名
select (收入 - 支出 ) as 纯收入 from [ Salary ] -- 删除重复数据 DISTINCT 必须在最前面,表示删除输出的行完全一样的,还带升序
select distinct 支出 from [ Salary ] -- 在SQLServer中限制查询结果 只显示前5
SELECT TOP 5 * FROM employees -- 在MySQL中限制查询结果 只显示前5和编号5开始的前10条数据
SELECT * FROM employees limit 5
SELECT TOP 5 * FROM employees limit 5 ,10 -- 在Oracle中限制查询结果
SELECT * FROM employees where rownum<= 5; -- 连接列值,在Oracle会报错因为拼接字符串使用||
SELECT 姓名+地址+电话 As 个人信息 from employees -- 条件查询
SELECT * FROM [ Salary ] where 收入>3000 -- 范围查询 BETWEEN ...And ... ,包含边界,也可以查询两个日期之间的数据
SELECT * FROM [ Salary ] where 收入 BETWEEN 2400.8 and 3160 -- 获取当前日期
SELECT GETDATE();
-- 函数表达式CONVERT(date_type[(length)],expressoon,style) mysql中使用DATE_FORMAT(date,format) Oracle中使用TO_CHAR(date,format)
-- 可以将长日期转换成短日期格式数据
CONVERT( char(10),getdate(),120)
-- REPLACE(CONVERT( char(10),getdate(),120), '-', '/')可以将日期中— 变成/
-- DATEDIFF(单位, 开始, 结束)计算两个日期间隔天数
-- DAY(日期)返回那一天
-- MONTH(日期)返回那个月份
-- YEAR(日期)返回那一年
-- 逻辑运算符优先等级 not and or -- 使用in操作符过滤数据,相当用多个or
SELECT * from employees where 姓名 in ('程锋' , '李丽' ,'刘明')
SELECT * from employees where 姓名 not in ('程锋' , '李丽' ,'刘明')
SELECT * from employees where 姓名 in (SELECT TOP 2 姓名 from employees)
SELECT * from employees where '程锋' in (姓名) -- SQLsercer:CAST(数值 AS 类型)数据表类型转换
-- LTRIM(character_expression)去除左空格 -- 模糊查询like %任意0或多字符 _ 任意单字符 []表示范围 ^[]范围外
-- ESCAPE定义转义字符,使各以上通配符能做正常使用
-- 匹配xx5%
SELECT * from employees where 姓名 like '%5/%' ESCAPE '/' -- 查找指定行,则查询前n性,再查询前n-1行,使用NOT EXISTS 操作符删除重复,进而得到n
-- SQLSrever 随机一行
SELECT top 1 * from employees ORDER BY NEWID()
-- MySQL随机一行
SELECT * from employees ORDER BY RAND () limt 1 -- 查询空值
SELECT * from employees WHERE 姓名 IS NUll
SELECT * from employees WHERE 姓名 IS not NUll
-- 空值处理
SELECT 姓名,生日, ISNULL(地址, '北京') as 住址 FROM employees
-- mysql只能使用ISNULL()单个参数判断是非为空,空就为1,否则就0 -- 排序
SELECT * from employees ORDER BY 编号 ASC
SELECT * from employees ORDER BY 编号 DESC
-- 也可以使用别名排序
-- 多对列排序也就是进行多级排序
-- 优先顺序从左到右
-- 获取说有排序规则 跟在order by后面COLLATE 设置排序规则
select *from ::fn_helpcollations() -- 聚合函数
-- SUM():数字求和 AVG():数字求平均
-- MIN:数字字符日期求最小
-- MAX:数字字符日期求最大
-- COUNT:统计行数量 null不统计·也可使用DISTINCT 统计不重复
-- 多个聚合函数在SQL Server中不能嵌套
-- 在Oracle中嵌套必须设置group by -- 分组统计
SELECT 性别 ,COUNT(*) as su FROM employees GROUP BY 性别
SELECT 性别 ,min(生日) as su FROM employees GROUP BY 性别
-- 可以进行多列分组,列必须是查询表中的列,结果为总的
-- 可利用ROLLUP和CUBE和WITH关键字对 GROUP BY 进行分类汇总和总汇总
-- 可使用having子语句对分组组内过滤,和where类似,但是不能离开group by单独使用
-- GROUP BY的列不一定要在select列中出现 -- 子查询最多32层,使用(),任何使用表达式的地方都可以使用子查询,只要返回是单个值
-- 不能有order by
-- 使用in和not in实现子查询的交集和差集运算
-- EXISTS判断子查询结果是否存在数据行
-- ALL操作符比较子查询中的每一个值只有全为true,结果才为true
-- some和any是一样的
SELECT [编号], [收入] from [ Salary ] where [收入]>any(SELECT AVG(收入) FROM [ Salary ]) -- 内连接:使用比较运算符进行列和列之间的比较
SELECT [姓名],[地址],[收入]from employees,[ Salary ]where employees.[编号]=[ Salary ].[编号]
SELECT [姓名],[地址],[收入]from employees INNER join [ Salary ] ON employees.[编号]=[ Salary ].[编号] -- 外连接:将某些不满足连接条件的数据也在连接结果中输出
-- 左连接:保留第一个表中所有行,
SELECT [姓名],[地址],[收入]from employees left join [ Salary ] ON employees.[编号]=[ Salary ].[编号] -- 右连接:保留第2个表中所有行,
SELECT [姓名],[地址],[收入]from employees right join [ Salary ] ON employees.[编号]=[ Salary ].[编号] -- 全外连接:保留左右连接
SELECT [姓名],[地址],[收入]from employees full join [ Salary ] ON employees.[编号]=[ Salary ].[编号] -- 交叉连接
SELECT [姓名],[地址],[收入]from employees cross join [ Salary ] -- 组合查询:必须两个以上的select语句,语句之间用union 关键字分隔
-- 每个列中的数目、类型相同或兼容
-- union all 返回重复行

SQL查询基本用法的更多相关文章

  1. Mybatis传递多个参数进行SQL查询的用法

    当只向xxxMapper.xml文件中传递一个参数时,可以简单的用“_parameter”来接收xxxMapper.java传递进来的参数,并代入查询. 但是,如果在xxxMapper.java文件中 ...

  2. SQL学习:查询的用法(1)

    在SQL servre的使用中,查询的用法是最多的.最重要的,也是最难学习的,因此掌握查询的用法很重要. 先将表的示例上图 员工表: 部门表:                             ...

  3. 【SQL】各取所需 | SQL JOIN连接查询各种用法总结

    前面 在实际应用中,大多的查询都是需要多表连接查询的,但很多初学SQL的小伙伴总对各种JOIN有些迷糊.回想一下,初期很长一段时间,我常用的似乎也就是等值连接 WHERE 后面加等号,对各种JOIN也 ...

  4. SQL查询关于相对路径、矢代、绝对路径、递归、计算列的速度对比跟优化-SOD群记录

    1秒查原本递归的查询. 适用于:上下级.多层查询 -- Get childs by parent id WITH Tree AS ( SELECT Id,ParentId FROM dbo.Node ...

  5. 【T-SQL基础】01.单表查询-几道sql查询题

    概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...

  6. 用sql查询当天,一周,一个月的数据

    用sql查询当天,一周,一个月的数据   数据查询,不管在网站还是在系统,都很常见,下文是介绍最常见的以日期查询的语句 select * from ShopOrder where datediff(w ...

  7. SQL 查询总结

    参考资料: SELECT 查询语句格式与简单查询 SQL中distinct的用法 SQL 查询总结

  8. 15个初学者必看的基础SQL查询语句

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...

  9. (转)经典SQL查询语句大全

    (转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...

随机推荐

  1. Python 简明教程 --- 5,Python 表达式与运算符

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1, ...

  2. Linux安装Redis 6.0.5 ./install_server.sh报错

    Linux安装Redis 6.0.5 ./install_server.sh报错 linux 安装Redis6.0.5时 进行到./install_server.sh时报错, This systems ...

  3. Day12-微信小程序实战-交友小程序-搭建服务器与上传文件到后端

    要搞一个小型的cms内容发布系统 因为小程序上线之后,直接对数据库进行操作的话,慧出问题的,所以一般都会做一个管理系统,让工作人员通过这个管理系统来对这个数据库进行增删改查 微信小程序其实给我们提供了 ...

  4. .NET Core加解密实战系列之——消息摘要与数字签名算法

    目录 简介 功能依赖 消息摘要算法 MD算法 家族发展史 应用场景 代码实现 MD5 示例代码 SHA算法 应用场景 代码实现 SHA1 SHA256 示例代码 MAC算法 HMAC算法的典型应用 H ...

  5. POJ 3463 Sightseeing 【最短路与次短路】

    题目 Tour operator Your Personal Holiday organises guided bus trips across the Benelux. Every day the ...

  6. Python之浅谈模块

    目录 模块的四种形式 什么是模块 import和from......import 循环导入 模块的搜索路径 Python文件的两种用途 random模块 模块的四种形式 什么是模块 ​ 模块就是一个p ...

  7. js/ts/tsx读取excel表格中的日期格式转换

    const formatDate = (timestamp: number) => { const time = new Date((timestamp - 1) * 24 * 3600000 ...

  8. GAN网络从入门教程(二)之GAN原理

    在一篇博客GAN网络从入门教程(一)之GAN网络介绍中,简单的对GAN网络进行了一些介绍,介绍了其是什么,然后大概的流程是什么. 在这篇博客中,主要是介绍其数学公式,以及其算法流程.当然数学公式只是简 ...

  9. 使用MWeb进行博客发布测试

    MWeb 是专业的 Markdown 写作.记笔记.静态博客生成软件,目前已支持 Mac,iPad 和 iPhone.MWeb 有以下特色: 软件本身: 使用原生的 macOS 技术打造,追求与系统的 ...

  10. 03.springboot 整合RabbitMQ

    1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...