SQL 基本查询语句
- --使用数据库
- use date
- go
- --创建表班级表
- create table classInfo
- (
- classNo int primary key identity(1,1),--主键约束使用primary key identity
- className varchar(10) not null--非空约束
- )
- go
- --创建学员表
- create table stuInfo --标识列约束使用identity
- (
- stuNo int primary key identity(1,1),--主键约束要求主键数据唯一并且不允许为空
- stuname varchar(10)not null unique,--唯一约束使用unique关键字允许为空,但只能出现一个空值
- age int check(age>10 and age<100),--检查约束使用check设置年龄
- sex nchar(1)default'男',--默认约束
- class int foreign key references classInfo(classNo)--外键约束用于两表之间建立关系,需要指定引用主表的那一列
- )
- go
- --插入数据
- insert into classInfo values('S2S147'),('S2S148')
- insert into stuInfo values
- ('田七',18,'女',null),
- ('张三',38,'女',null),
- ('王五',20,'女',null),
- ('赵六',30,'男',null)
- --修改表中的数据
- update stuInfo set class=1
- --删除表中的数据
- delete stuInfo where stuNo=1
- --修改朱茂深的年龄和性别
- update stuInfo set age=18,sex='男'where stuname='张三'
- --查询表中的数据
- select * from stuInfo
- select * from classInfo
- --查询性别为女的数据
- select * from stuInfo where sex='女'
- --模糊查询使用like --查询'朱'字开头的名字
- select * from stuInfo where stuname like '张%'
- --查询年龄18到20之间的数据
- select * from stuInfo where age=18 or age=20
- --使用in的效果一样
- select * from stuInfo where age in(18,20)
- select * from stuInfo where age between 18 and 20
- --查询姓名年龄
- select '姓名'=stuname,'年龄'=age from stuInfo where age between 18 and 20
- --查询男生的人数(使用聚合函数)
- select count(*) as 人数 from stuInfo where sex='男'
- --sum(求和)、avg(平均值)、max(最大值)、min(最小值)、count(计算总数)
- --查询男生女生分别多少人(分组)(group by 统计函数联合使用)
- select 性别=sex, 人数=count(*) from stuInfo group by sex
- --查询年龄18到20之间的个数大于等于2的数
- select 性别=sex, 人数=count(*) from stuInfo
- where age in (18,20) group by sex
- having COUNT(*)>=2
- --order by(作用是升降序 (ASC升从小到大排列)(Desc降)从大到小排列)
- select * from stuInfo order by age asc
- select * from stuInfo order by age desc
- --使用top查询前三条数据
- --查询降序后的三条数据
- select top 3 * from stuInfo order by age desc
- --查询出男生的 姓名 年龄 性别
- select 姓名=stuname,年龄=age,性别=sex
- from stuInfo,classInfo
- where stuInfo.class=classInfo.classNo and sex='男'
- --内链接查询
- --查询 姓名 年龄 性别 班级
- select 姓名=stuname,年龄=age,性别=sex,班级=className
- from stuInfo inner join classInfo
- on stuInfo.class=classInfo.classNo
- where sex='男'
- --左外连接查询使用(left join)
- select stuname,age,sex,className
- from stuInfo left join classInfo
- on stuInfo.class=classInfo.classNo
- --右外连接查询 使用(right join)如果不满足条件的则返回null(空值)
- select stuname,age,sex,classname
- from stuInfo right join classInfo
- on stuInfo.class=classInfo.classNo
- --全外连接查询使用(full outer join)outer可以不写
- select stuname,age,sex,classname
- from stuInfo full join classInfo
- on stuInfo.class=classInfo.classNo
- --交叉链接查询(笛卡尔积)就是查询所指定要查询的值
- select stuname,age,sex,classname
- from stuInfo cross join classInfo
- --自连接查询查询张三所在班级的所有学员信息
- select
- 姓名=s1.stuname ,
- 年龄=s1.age,
- 性别=s1.sex
- from stuInfo s1,stuInfo s2
- where s1.class=s2.class
- and s2.stuname='张三'
- select
- 姓名=s1.stuname,
- 年龄=s1.age,
- 性别=s1.sex,
- 班级=c3 .className
- from stuInfo s1, stuInfo s2 ,classInfo c3
- where s1.class=s2.class
- and s2.stuname='张三'
- and s1.class=c3.classNo
- --子查询
- select
- 姓名=stuname,
- 年龄=age,
- 性别=sex,
- 班级=class
- from stuInfo
- where class=(select class from stuInfo where stuname='张三')
- select
- 姓名=stuname,
- 年龄=age,
- 性别=sex,
- 班级=(select classname from classInfo where classNo=class)
- from stuInfo
- where class=
- (select class from stuInfo where stuname='张三')
SQL 基本查询语句的更多相关文章
- SQL逻辑查询语句执行顺序 需要重新整理
一.SQL语句定义顺序 1 2 3 4 5 6 7 8 9 10 SELECT DISTINCT <select_list> FROM <left_table> <joi ...
- 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?
如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括:如何 ...
- python 3 mysql sql逻辑查询语句执行顺序
python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_t ...
- mysql第四篇--SQL逻辑查询语句执行顺序
mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> < ...
- SQL Server SQL高级查询语句小结(转)
--select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select disti ...
- 45、SQL逻辑查询语句执行顺序
一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOI ...
- sql的查询语句的总结
一:基本的查询sql 1:基本常用查询 select * from student; --select select all sex from student; --all 查询所有 select d ...
- NumberFormatException: Invalid int类型不匹配异常——使用SQL数据库查询语句select * from blacknumber order by _id desc limit ?,20;出现
异常:类型不匹配 05-06 08:12:38.151: E/AndroidRuntime(14904): java.lang.NumberFormatException: Invalid int: ...
- 第四篇:记录相关操作 SQL逻辑查询语句执行顺序
http://www.cnblogs.com/linhaifeng/articles/7372774.html 一 SELECT语句关键字的定义顺序 SELECT DISTINCT <selec ...
- SQL逻辑查询语句执行顺序
阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SELECT语句关键字的定义顺序 SELE ...
随机推荐
- [知乎]自己真是Know Nothing 历史上有哪些细思恐极的事件?
作者:敖让链接:https://www.zhihu.com/question/38374479/answer/652432284来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 数据库系统原理之SQL(四)
数据库系统原理之SQL(四) 1. 数据更新 插入数据 INSERT-VALUES语句 #插入多条数据 insert [into] table_name (column_name,...) value ...
- abstract关键字及static关键字
抽象关键字abstract 抽象类 在类前加上关键字abstract可以将此类变成抽象类.抽象类不允许通过new关键字实例化,但是可一通过其子类向上转型为其创建实例. 抽象类可以有抽象方法,也可以没有 ...
- 快速查看php文档技巧
在php源码中看到注释中的相关链接后 Ctrl+鼠标,浏览器打开 将输入栏的“en”改为“zh”即可变为中文文档,其他语言类推
- laravel框架之增刪改查
<?php namespace App\Http\Controllers\admin; use Illuminate\Http\Request as request; use App\Http\ ...
- 断开ssh链接在后台继续运行命令
转载:http://blog.csdn.net/v1v1wang/article/details/6855552 对于linux运维,我们都是使用ssh登录到服务器,如果我们运行的任务需要很长时间或不 ...
- Django @csrf_exempt不能在类视图中工作(Django @csrf_exempt not working in class View)
我在Django 1.9中有一个使用SessionMiddleware的应用程序.我想在同一个项目中为这个应用程序创建一个API,但是在做一个POST请求时,它不能使用@csrf_exempt注释. ...
- linux 环境 Xshell操作数据库
一:采用sqlplus连接登录(确保安装了sqlplus) 1:先登陆进入到oracle的数据库的服务器环境下 2:切换到sqlplus操作: sqlplus /nolog 3:conn /as s ...
- oracle在没
db_user表中数据: name age nub 张三 13 13 张三 12 12 张三 12 13 张三 12 13 李四 12 12 李四 12 12 查询重复数据(一条) sql:selec ...
- UIDynamic物理引擎
iOS开发拓展篇—UIDynamic(简单介绍) 一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟 ...