sql第二天
--基本格式
select * from tblclass
--对于列进行限制
--格式一:取指定列
select cid,cname from TblClass
select cname from TblClass
--格式二:为列起别名as
select cid as 编号,cname 名称,描述=cdescription from TblClass
--对于行进行限制
--关键字top:表示取前n的数据
select top 2 * from TblClass
select top 2 percent * from TblClass
--关键字distinct:消除重复项
select cdescription from TblClass
select distinct cdescription from TblClass
--where子句
--查询编号大于5的班级
select * from TblClass
where cid>5--比较运算符:> < >= <= <> !=
--查询班级编号在5至8之间的班级信息
select * from TblClass
where cid>5 and cid<8--逻辑运算符:and(&&) or(||) not(!)
--查询班级编号在5至8之间并且描述信息的字符个数大于3的班级信息
select * from TblClass
where cid>5 and cid<8 and LEN(cDescription)>3
--查询班级编号在5至8之间或描述信息的字符个数大于3的班级信息
select * from TblClass
where (cid>5 and cid<8) or (LEN(cDescription)>3)--运算符优先级
--not的优先级最高,仅次于小括号
--取范围,表示在一个连续的范围内between ... and ...[5,8]
select * from TblClass
where cid between 5 and 8
--=============
select * from TblClass
where (cid between 5 and 8) and (LEN(cDescription)>3)
--in:取范围,表示一个不连续的范围
--查询编号为1,4,8的班级
select * from TblClass
where cid=1 or cid=4 or cid=8
--==========
select * from TblClass
where cid in(1,4,8)
--模糊查询:like _:任意一个字符 %:任意多个字符
--[]:显示一个连续区间 ^:放在[]中表示非
select * from TblClass
where cDescription like '%赵剑雨%'
--查询在描述中以'黑'开头并且是2个字符的信息
select * from TblClass
where cDescription like '黑_'
--查询描述中包含'%'的班级,转义:使用[]括起来
select * from TblClass
where cDescription like '%[%]%'
--[4-7]表示4,5,6,7
--[4,7]表示4,7
--[47]表示4,7
--查询描述中包含4-7的信息
select * from TblClass
where cDescription like '%[4-7]'
--查询描述中不包含4-7的信息
select * from TblClass
where cDescription like '%[^4-7]'
--空值判断is [not] null
select * from TblClass
where cDescription is not null
--函数isnull:判断值是否为空,如果为空,不显示null而给一个默认值
select cid,cName,ISNULL(cDescription,'暂未开班') from TblClass
--============================================
--order by 子句排序子句 asc升序 desc降序
select * from TblClass
--order by cid[ asc]--按cid升序排列
--order by cid desc
order by cid desc,cName asc--可以按照多列排序
--=========================================
--分组子句group by ... having ...
--聚合函数
--聚合:把多行合并成一行
--use ItCastCn
select * from tblscore
--找出英语成绩的最高分
select MAX(tenglish) from tblscore
--找出数学成绩的最低分
select MIN(tmath) from tblscore
--查询英语的平均成绩
select AVG(tenglish) from tblscore
--求数学成绩的总和
select SUM(tmath) from tblscore
--求参加考试的人数
select count(*) from tblscore
select COUNT(*) from tblstudent
select * from tblscore
--分组:统计各班人数
--出现分组中的列,可以出现在查询结果中,其它的列不可以与聚合函数一起出现在结果中
select tsclassid,COUNT(*) as 人数 from tblstudent
group by tsclassid
--做选择having:在分组后,对结果集进行筛选
--查找出班级人数大于5的班级信息
select tsclassid,COUNT(*) as 人数 from tblstudent
group by tsclassid having COUNT(*)>5
--综合语句练习
select distinct top 1 tsclassid,COUNT(*) AS 人数,avg(tsage) as 平均年龄
from tblstudent
where tsGender='男'
group by tsclassid having tsclassid>3
order by 平均年龄 desc
--作业:学生表操作
select * from tblstudent
--查询所有女生的信息
--查询班级为3的男生信息
--查询姓'张'的男学生
--找出各个城市的人数及城市名称
--找出各班中最多人的城市名称
sql第二天的更多相关文章
- SQL 第二章 作业
/*第二章 作业*/ create table S ( sno char(2) NOT NULL UNIQUE, sname char(3), city char(2) ); alter table ...
- SQL第二节课
SQL练习题 一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的 ...
- 终于看完<LEARNING SQL>第二版,立此存照
- SQL第二课-创建数据表
查看有多少数据库 SHOW DATABASES; 进入数据库:USE <数据库名> 举例:USE test;//进入test数据库 查看当前进入的是哪个数据库 SELECT DATABAS ...
- Oracle PL/SQL随堂笔记总结
1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle的p ...
- MySQL加载并执行SQL脚本文件
第一种方法: 命令行下(未连接数据库) ,输入 mysql -h localhost -u root -p123456 < C:\db.sql 第二种方法: 命令行下(已连接数据库,此时的提示符 ...
- PDO预处理语句规避SQL注入攻击
所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存 ...
- 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。
1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...
- MySQL优化(二):SQL优化
一.SQL优化 1.优化SQL一般步骤 1.1 查看SQL执行频率 SHOW STATUS LIKE 'Com_%'; Com_select:执行SELECT操作的次数,一次查询累加1.其他类似 以下 ...
随机推荐
- EasyUI DataGrid及Pagination
接上一篇EasyUI项目驱动学习 DataGrid数据表格及Pagination分页一起介绍 一.通过<table>标记创建DataGrid,嵌套<th>标签定义列表 < ...
- - 高级篇:二,IL设置静态属性,字段和类型转换
- 高级篇:二,IL设置静态属性,字段和类型转换 静态属性赋值 先来看 Reflector反射出的IL源码(感谢Moen的提示),这次用 Release模式编译,去掉那些无用的辅助指令 public ...
- Go语言Web框架gwk介绍4
Go语言Web框架gwk介绍 (四) 事件 gwk支持事件系统,但并没有硬编码有哪些事件,而是采用了比较松散的定义方式. 订阅事件有两种方式: 调用On函数或者OnFunc函数 func On(m ...
- Ext.ux.form.SuperBoxSelect
Ext.ux.form.SuperBoxSelect 在B/S系统中,下拉列表(select/dropdownlist/combobox)的应用随处可见,为了增强用户体验,开发人员也常常会做一些带联想 ...
- 验证视图状态 MAC 失败,解决方法
错误信息 今天调试一个带cookie表单提交的页面时,浏览器中报错提示:验证视图状态 MAC 失败.如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 v ...
- 深入浅出Mybatis-sql自动生成
本文提供了一种自动生成sql语句的方法,它针对的对象是有主键或唯一索引的单表,提供的操作有增.删.改.查4种.理解本文和本文的提供的代码需要有java注解的知识,因为本文是基于注解生成sql的.本文适 ...
- linux下测试宽带速度
speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测量网络的上/下行速率.安装sp ...
- 用PopWindow做下拉框
最近在做下拉框,本来想用spinner,可是spinner达不到项目要求,跟同学同事问了一圈,都在用popwindow, 网上看了一下,popwindow挺简单的,可定制性挺强的,符合我的要求,所以, ...
- JAVA基础之内部类
JAVA基础之内部类 2017-01-13 1.java中的内部类都有什么?! 成员内部类 局部内部类 匿名内部类 静态内部类 2.内部类详解 •成员内部类 在一个类的内部再创建一个类,成为内部类 1 ...
- 创建ListView控件
// 创建List控件 HWND hListView = CreateWindow(WC_LISTVIEW ,/*listview 宏的名字*/ L"" ,/*窗口标题*/ WS_ ...