数据库——查询
来源:互联网 发布:windows api开发详解 编辑:程序博客网 时间:2024/06/06 07:09
查询是数据库中最重要的应用,查询语句是SQL中最核心的语句,查询语句有是变化最多,最复杂的语句。
一:认识查询
二:查询的基础语句
三:嵌套查询
四:查询的注意知识点
五:实践
【认识查询】 查询就是按照一定的条件要求输出数据库中的数据。使用查询可以查看数据,更改数据,和查询数据。
查询包括三个部分: 查什么:需要查询的字段,这些字段可能来自一个表或者多个表,也可以来自某一个查询的结果
怎么查:这里是指查询的条件
怎么输出:输出哪些字段,什么样的排序等等
【基础语句】
Select 字段
From 表名
Where 条件语句
Group by 字段 [ having 条件]
Order by 字段 [asc | desc ]
【嵌套查询】有时候查询条件不是简单地变量表达式,需要以其他的查询结果最为这个查询的条件,简单地说是查询里边还有一个查询,我们把最先求的那个查询叫做子查询,
查询的时候由里到外的查询。这样的复杂查询叫做嵌套查询
嵌套查询可以用于解决多个表查询,但是主查询输出的字段必须来自于一个表
具体的应用在实践中再体会
【零散知识点】 1:去掉重复的字段使用distinct
2:between and ,and, in 的用法
举个例子:25岁到30岁
Age >=25 and age <=40 或者 between 25 and 40
有多个对象的时候用in 是使用最多最方便的
【实践】以后都用这个例子,
建立一个学生选课系统
建立一个stu_cou 的数据库
数据库里有三个表单
学生表
属性名
数据类型
可否为空
约束要求
学号
Char
否
主键
姓名
Varchar
否
性别
Char
否
年龄
Tinyint
可
所在系
char
否
课程表
属性名
数据类型
可否为空
含义
课程号
Char
否
主键
课程名
Varchar
否
不能为空
先行课
Varchar
可
选课表
属性名
数据类型
可否为空
含义
学号
Char
否
外键
课程号
Char
否
外键
成绩
tinyint
可
大于0,小于100
到这一步,数据库和数据表就建好了(详细过程略)
下一步,输入数据
执行成功以后的结果
Sc 表
student 表
Course 表
开始进入到查询阶段:举两个典型的例子
1:查询计算机系的学生的姓名和学号
分析,查询需要输出的是学号sno 和 姓名sname
这是一个从多个表里的查询,如果需要多个表,需要把表先建立期连接
2:查询选修了数据库应用技术的学生的学号和姓名
这个查询相对比较复杂。
查询条件1:不是计算机系的2:年龄比计算机系的都要小。
【思考】
看书看视频 和实际操作是不一样的,真正去实践一下有利于更好的掌握,而且你还会收货很多,调试的能力也非常的重要。
- 数据库——查询
- 数据库查询篇—简单查询
- 数据库——连接查询
- django官方文档——构造查询(数据库查询 查询数据库)
- mysql数据库子查询、连接查询——2014.5.27
- 数据库——(10)联合查询和子查询
- MySql数据库查询——使用聚合函数查询
- 数据库——连接查询(子查询)
- 数据库——连接查询(子查询)
- 数据库操作 —— 查询语句小结
- 精通数据库SQL——子查询
- 第五章 数据库——查询Ⅱ
- 开发者使用JasperReport——查询数据库
- oracle——DBLINK(数据库间查询)
- SQL 数据库——多表查询
- 数据库查询优化——Mysql索引
- 数据库查询优化——Mysql索引
- 【数据库】——SQL连接查询
- C语言头文件、库文件的查找路径
- 软件设计基础——抽象与逐步求精
- 高性能Socket服务器编程-01
- Linux(ubuntu)如何用iptables实现端口映射
- 花了两个小时做了那么一个很丑的Java写的三角形判断器......
- 数据库——查询
- 高性能Socket服务器编程-02
- java 可设置最大内存
- 【算法】奇偶调序
- How To: Design a Hull Shader
- GC与Finalize()
- shell输入与输出
- 多线程编程
- HTML标签,闭合还是不闭合?