数据库子函数练习

原创 2015年07月10日 18:38:28

create table yyy
 (
 code int ,
 name varchar(50),
 sex varchar(50),
 age int,
 hight decimal(18,1),
 weight decimal(18,1),
 idno bigint,
 address varchar(50)
 )
 insert into yyy values(1,'张三','男',20,161,61,37030219,'山东')
 insert into yyy values(2,'王八乐四','男',21,162,62,37030219,'淄博')
 insert into yyy values(6,'李科','男',22,178,75,371521,'淄博')
 insert into yyy values(3,'王五','男',22,163,63,37030219,'济南')
 insert into yyy values(4,'李科','男',23,164,64,37030219,'潍坊')
 insert into yyy values(5,'李科','男',24,165,65,37030219,'临沂')
 select *from yyy
 
 --top 关键字
 select top 3 *from yyy --显示整个表的前3行
 select top 3 *from yyy where age>=22  --先找到age>=22的 然后显示age>=22的前3行
 select top 3 name from yyy --显示这个表的前3行中的name一列
 
 --distinct
 select  distinct name from  yyy   --去除名字相同的
 
 --order  by 排序
 select *from yyy order by age asc  --age从小到大排序  asc 升序
 select *from yyy order by age desc --age从大到小排序  desc 降序
 select *from yyy where weight<70 order by weight --先筛选weight<70的 然后在按weight从小到大排序
 select *from yyy order by age,weight --先按年龄排序,然后在不改变第一次排序的基础上按体重排序
 
 
--分组  group by 列   对哪一列进行分组,就只能显示哪一列
select age from yyy group by age  --对name列分组,只能显示name列的信息
select age from yyy group by age

--查询年龄加5岁大于27的
select *from yyy where age+5>27

--算术运算符:+-*/%
--比较运算符:> < >= <= != <>(不等于)   !<大于等于 !>小于等于
--逻辑运算符 and or
--修饰符 all any some in not

--in 在什么参数范围之内
select *from yyy where age in(22,23)  --相当于age=22 or age=23
select *from yyy where age=22 or age=23 --既显示age=22,也显示age=23

--not 不在什么参数范围之内
select *from yyy where age not in(22,23)  --不显示age是22和23的

--查询年龄不在身高是164的人的年龄范围之内的学生信息
select *from yyy where hight=164
select *from yyy where age !=23
--子查询:使用查询语句查询一列数据出来,然后作为其他查询的查询条件中的参数来使用
--查询身高不在年龄是22岁的人的身高范围之内的信息
select *from yyy where age =22
select *from yyy where hight not in(178,163)
--简化
select *from yyy where hight not in(select hight from yyy where age =22)--先查询age=22的所有人的体重的这一列数据的结果作为参数,然后将这列参数用于第一个函数

 select *from yyy
--查询名字叫李科的人中年龄比code=1的张三那个人的年龄大3岁的人的信息
select *from yyy where  age - (select age from yyy where code=1 and name='张三' )=3 and name='李科'

--查询名字叫李科的人中年龄比姓王的人中年龄大1岁的人的信息
select *from yyy where name ='李科' and age -1 in(select age from yyy where name like '王%')

--外键 :受约束的表叫外键表,约束的数据源叫主键表
--要想加外键,首先得有主键表
--要想删主键表数据,必须先删除外键表数据
--作为外键的数据源的列,必须要是一个唯一键(这一列必须是主键或者是unique)

create table teacher
(
 tcode int primary key identity(1,1) ,
 tname varchar(50)
)
insert into teacher(tname) values('张三')
select *from teacher
create table student
(
 scode int primary key identity(1,1) ,
 sname varchar(50),
 tno int references teacher(tcode)--student表的tno项参考teacher表的tcode项,tcode项必须是主键项
 cid varchar(20) unique    --唯一列,不能重  unique
)
insert into student values ('学生1',null,'32134124')   --tno项只能输入null或张三的编号
insert into student values ('学生2',null,'321434124')
insert into student values ('学生3',null,'32153124')
insert into student values ('学生4',1,'3215g124')
select *from student

Perl 子函数练习

写一个子程序,名为&above_average,将一列数字作为其参数,返回所有大于平均值的数字(提示:另外写一个子程序来计算平均值,总和除以数字的个数)。利用下面的程序进行测试:my @fred = ...
  • lihenair
  • lihenair
  • 2009年12月30日 16:00
  • 1797

MySQL数据库入门练习200句

本文用于MySQL的入门学习和练习,延续我之前的[MySQL入门练习100句](http://blog.csdn.net/picway/article/details/53646994),增加到200...
  • picway
  • picway
  • 2016年12月22日 23:02
  • 3760

MySQL数据库的练习

1,统计每个部门有多少人 1,select dept_no ,count(*)as dept_count,d_name from em join dept on em.dept_no= dept....
  • yueruitao
  • yueruitao
  • 2017年04月06日 13:08
  • 791

数据库操作练习1

查找最晚入职员工的所有信息 题目描述 查找最晚入职员工的所有信息 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_dat...
  • sinat_22797429
  • sinat_22797429
  • 2017年08月19日 18:33
  • 321

Matlab函数、子函数的定义方法

除了最常使用的m文件函数,matlab还可以通过内联函数和匿名函数自定义函数。1. m文件函数以function关键字开头的m文件,并且通常函数名要与文件名相同。例如下面的内容保存为myfun2.m即...
  • yy13210520
  • yy13210520
  • 2011年04月08日 22:29
  • 20842

【MySQL】经典数据库SQL语句编写练习题——SQL语句扫盲

【MySQL】数据库原理复习——SQL语言
  • WolfOfSiberian
  • WolfOfSiberian
  • 2014年09月17日 19:23
  • 13997

MySQL数据库入门练习100句

用于配合MySQL入门学习和温习的练习代码100句
  • picway
  • picway
  • 2016年12月14日 21:23
  • 7580

很全的sql语句练习题(+sql脚本文件)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • qq_22075041
  • qq_22075041
  • 2017年04月02日 17:42
  • 4851

自己珍藏的数据库SQL基础练习题答案

自己珍藏的数据库SQL基础练习题答案 一,基本表的定义与删除. 题1:  用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表...
  • Litt_J
  • Litt_J
  • 2014年12月31日 21:55
  • 3542

Matlab- 主函数和子函数间接传递变量

在matlab一般可以通过函数的输入和输出接口来传递变量,但是有的时候,我们因为函数已经写好,并在比较多的脚本中被调用,此时再修改输入接口的工作量比较大,如果可以通过其它方式传递变量,就可以省去很多的...
  • nobb111
  • nobb111
  • 2017年09月12日 14:02
  • 733
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库子函数练习
举报原因:
原因补充:

(最多只允许输入30个字)