SQL 基本知识
四个基础语法
1. insert into 表名 (列名) [values] 值列表
insert into 表名 values 值列表
【扩展】插入多行:
1. insert into <表名> (列名)
select 列名
from <源表名>
2. select 列名
into <表名>
from <源表名>
【注】创建表,复制列名的结构及数据到新表中,但是,这个SQL语句只能使用一次
3. insert into <表名> (列名)
select 值列表 union
select 值列表
2. delete [from] 表名 [where条件]
3. update 表名 set 列名=值 , 列名2=值2 [where条件]
4. select 列名 from 表名 [where 条件]
多表查询:
内连接(inner join ):
select 表1.列名,表2.列名 from 表名1 as 表1 inner join 表名2 as 表2
on 表1.字段名=表2.字段名
inner join 表名3 as 表3
on 表1.字段名=表3.字段名
还可以用另一种写法
select 表1.列名,表2.列名 from 表名1 as 表1,表名2 as 表2,表名3 as 表3
where 表1.字段名=表2.字段名
and 表1.字段名=表3.字段名
外连接:
左外:
select 表1.列名,表2.列名 from 表名1 as
表1 left outer join 表名2 as 表2
on 表1.字段名=表2.字段名
右外:
select 表1.列名,表2.列名 from 表名1 as
表1 right outer join 表名2 as 表2
on 表1.字段名=表2.字段名
其它知识点
1. 模糊查询三种方式
第一种:select 列名 from 表名 where 列名 like '表达式'
/*
常见通配符有以下四种:
_ : 一个字符
% : 任意长度的字符
[]:区间内的字符
[^]: 不区间内的字符
*/
第二种:select 列名 from 表名 where 列名 in (值1,值2)
第三种:select 列名 from 表名 where 列名 between 值1 and 值2
【注】:值2不大小于值1
2. 判断是否为空
空: 列名 is null or 列名=''
不为空: 列名 not is null and 列名!=''
3. 分组(group by...having)
select 列名(group by 的列名,或者函数) from 表名
where [条件]
group by 列名
having 条件
order by 排序[asc|desc]
函数
1. 聚合函数
SUM(列名):和
MAX(列名):最大值
MIN(列名):最小值
AVG(列名):平均值
COUNT(列名):列数
聚合函数是求不为空的个数、值、或者和
2. 日期:当前日期:getdate()
datediff(日期部分,日期1,日期2):求日期部分的差
dateadd(日期部分,增加值,指定日期)
datepart(日期部分,指定日期)
datename(日期部分,指定日期)
3. 字符串函数
a. charindex(寻找的字符,搜索列[,起始位置]);
在一段字符中搜索字符或字符串,返回起始位置,(注:起始位置从1开始,如果没有找到返回0)
e.g select * from Student where charindex('金',StudentName)>0
b. len(字符串|列名):返回字符串长度
select len('hello world'); 返回11
c. upper(字符串|列名):把传递的值转换成大写
select upper('hello world'); HELLO WORLD
d. ltrim(字符串|列名):去字符串左边的空格
rtrim(字符串|列名):去字符串右边的空格
e.g:select ltrim(' hello world ');
select rtrim(' hello world ');
e. right(字符串,长度):
从字符串右边返回指定数目的字符
left(字符串,长度)
从字符串左边返回指定数目的字符
f. replace(待搜索字符,待查询字符,替换用的字符)
替换一个字符串中的字符
e.g select replace('hello world','hello','hi');结果hi world
SQL 基本知识的更多相关文章
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式
SQL 基础知识梳理(六)- 函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...
- [SQL] SQL 基础知识梳理(七)- 集合运算
SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...
- PySpark SQL 相关知识介绍
title: PySpark SQL 相关知识介绍 summary: 关键词:大数据 Hadoop Hive Pig Kafka Spark PySpark SQL 集群管理器 PostgreSQL ...
- 常见SQL语句和SQL基础知识
引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name k ...
- 031医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------sql补充知识
这个补充知识有一个点很有必要,视屏上的老师提出一点: 内链接关联查询: 如果表A和表B有一个外键关联 ,可以通过外键进行内链接查询 select dictinfo.*, dicttype.typena ...
随机推荐
- Java中的方法应用
一.如何定义java中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 语法: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.priv ...
- (46) odoo核心文档分享
*前言: 要掌握一个系统,还得有扎实的基础,最好的方法,阅读核心文档 然后去实践. *核心文档列表如下: odoo8官方参考.pdf 链接: http://p ...
- gulp入门教程
第1步:安装Node 首先,最基本也最重要的是,我们需要搭建node环境.访问 nodejs.org,下载完成后直接运行程序,就一切准备就绪.npm会随着安装包一起安装,稍后会用到它. 为了确保Nod ...
- discuz被别人评论一段代码,然后页面就变样了
ۣۣۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖ ...
- 听着好像很牛的特效——幽灵按钮DOM
给大家分享一个听着好像很牛的东西——幽灵按钮,这个玩意对于艺术设计细胞在高中决定不在考试试卷上画画的我来说,实在不感冒.但是这个按钮的设计元素很流行,一个网页东西不做几个,光放上几个按钮就会显得很高端 ...
- Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?
Joomla 软件功能介绍: Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...
- yii2 的request get pos请求 基本用法示例
yii2好久没用了, 基本的都快忘了,赶紧记录一下. 1.普通的get和pst请求 $request = Yii::$app->request; $get = $request->get( ...
- W.Richard Stevens sock program
在<TCP/IP卷一>中有一个程序sock,Stevens的主页上有,但是在LINUX下通常无法工作(那时还没有LINUX),经过百度,发现http://www.icir.org/chri ...
- 深度剖析Linux与Windows系统的区别
当我们每个人接触Linux之前,应该先接触的都是windows吧?但我们一般接触Linux后,习惯linux的管理和使用方法后,我们再回过头再来使用windows的时候,内心其实是拒绝的.我们会觉得图 ...
- Android中dp,px,sp概念梳理以及如何做到屏幕适配
http://blog.csdn.net/jiangwei0910410003/article/details/40509571