mysql 04_章基本查询
当我们使用select查询语句向数据库发送一个查询请求,数据库会根据请求执行查询,并返回一个虚拟表,其数据来源于真实的数据表。
一、查询所有数据:所有的字段、所有的记录
格式:SELECT * FROM 表名;
举例:SELECT * FROM tb_student;
二、查询部分字段:
目的:可以指定查询哪些字段、给数据表或字段取别名。
格式:SELECT <字段名列表> FROM 表名;
说明:<>表示其中的内容是必选项,[]表示其中的内容是可选项,{}表示其中的内容是枚举项。
举例:SELECT student_no AS 学生编号,student_name AS 学生姓名,phone AS 电话号码 FROM tb_student;
别名:使用AS或者空格就可以给数据表或字段取别名,若别名中包含特殊字符,mysql使用单引号包裹,oracle使用双引号,sqlsever使用方括号包裹。
三、查询部分记录:
格式:SELECT <字段名列表|*> FROM 表名 [WHERE <筛选条件列表>];
说明:
1、筛选条件列表中多个条件之间使用OR、AND连接、取反NOT。
2、NULL 使用 IS NULL或IS NOT NULL,不能用=
举例:SELECT * FROM tb_student WHERE student_no = "S01" OR sex = '男';
SELECT * FROM tb_student WHERE email is not NULL ;
SELECT * FROM tb_student WHERE email is NULL ;
SELECT * FROM tb_student WHERE email = '' ;
四、多表联合查询:隐式的内连接查询
当某些数据在一个表中没有时,就需要针对多个表进行联合查询,才能获取到需要的数据,笛卡尔积 举例:-- 在查询tb_student表的同时希望一并查询到grade_name
SELECT * FROM tb_student sd,tb_grade ge WHERE sd.grade_id = ge.grade_id AND ge.grade_name = '一年级';
/*两条语句效果一样*/
SELECT * FROM tb_student sd INNER JOIN tb_grade ge on sd.grade_id = ge.grade_id AND ge.grade_name = '一年级';
-- 左外连接查询,左边表中的数据会优先全部显示
SELECT * FROM tb_student sd LEFT JOIN tb_grade ge on sd.grade_id = ge.grade_id AND ge.grade_name = '一年级';
-- 右外连接查询,正好与左外相反
SELECT * FROM tb_student sd RIGHT JOIN tb_grade ge on sd.grade_id = ge.grade_id AND ge.grade_name = '一年级';
-- 全连接查询(显示左右表中全部数据) 左右中间用union连接
SELECT * FROM tb_student sd LEFT JOIN tb_grade ge on sd.grade_id = ge.grade_id AND ge.grade_name = '一年级'
UNION /*union会去掉重复的数据,而union all会直接显示结果*/
SELECT * FROM tb_student sd RIGHT JOIN tb_grade ge on sd.grade_id = ge.grade_id AND ge.grade_name = '一年级'; -- 将四张表都关联一起查询,
SELECT sj.*,sc.* ,ge.grade_name FROM tb_grade ge,tb_subject sj,tb_student sd,tb_score sc
WHERE ge.grade_id = sj.grade_id
AND ge.grade_id = sd.grade_id
AND sc.subject_id = sj.subject_id
AND sc.student_no = sd.student_no
AND ge.grade_name = "一年级";
mysql 04_章基本查询的更多相关文章
- MySQL数据操作与查询笔记 • 【目录】
持续更新中- 我的大学笔记>>> 章节 内容 第1章 MySQL数据操作与查询笔记 • [第1章 MySQL数据库基础] 第2章 MySQL数据操作与查询笔记 • [第2章 表结构管 ...
- 图解|12张图告诉你MySQL的主键查询为什么这么快
这是图解MySQL的第3篇文章,这篇文章会让大家清楚地明白: 什么是InnoDB行格式?InnoDB页是什么? InnoDB页和InnoDB行格式都有哪些字段信息? 为什么推荐使用自增ID作为主键,而 ...
- Mysql多表表关联查询 inner Join left join right join
Mysql多表表关联查询 inner Join left join right join
- mysql多表联合查询
转自:http://www.cnblogs.com/Toolo/p/3634563.html 多表连接,小分三种(笛卡尔积.内连接.外连接),多分五种 (笛卡尔积.内连接.左连接.右连接.全连接(my ...
- mysql中的模糊查询
转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...
- mysql怎么限制某些查询语句的执行?
mysql怎么限制某些查询语句的执行? 比如某些sql语句执行时间很长,超过10s,怎么样超过10s就不让其执行? 后续更新中...
- MySQL如何执行关联查询
MySQL中‘关联(join)’ 一词包含的意义比一般意义上理解的要更广泛.总的来说,MySQL认为任何一个查询都是一次‘关联’ --并不仅仅是一个查询需要到两个表的匹配才叫关联,索引在MySQL中, ...
- mysql 存储过程:提供查询语句并返回查询执行影响的行数
mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREAT ...
- Mysql 连接查询 Mysql支持的连接查询有哪些
CREATE TABLE `chx` ( `id` VARCHAR(20) NOT NULL, `name` VARCHAR(50) DEFAULT NULL, `name2` CHAR( ...
随机推荐
- SDUTOJ 2498 数据结构实验之图论十一:AOE网上的关键路径
题目链接:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2498.html 题目大意 略. 分析 ...
- PAT_A1083#List Grades
Source: PAT A1083 List Grades (25 分) Description: Given a list of N student records with name, ID an ...
- C# WinForm 第一个项目控件使用心得
1.控件心得 1.1 基础控件 panel 作用:布局 难点:重绘边框改变颜色 重绘panel里如果有fill填充控件 panle的padding要改个值 private void pnlPaintB ...
- python调用tushare获取A股上市公司管理层人员信息
接口:stk_managers 描述:获取上市公司管理层 注:tushare模块下载和安装教程,请查阅我之前的文章 积分:用户需要2000积分才可以调取,具体请参阅本文最下方积分获取办法 输入参数 名 ...
- 7-MySQL-Ubuntu-操作数据表的基本操作(二)
修改数据表的结构 (1)向数据表中添加新的字段 alter table 表名 add 字段名 类型及约束; (2)修改字段的属性(字段的数据类型和约束) 注:modify不能修改字段名,只能修改字段 ...
- zabbix--监控的组件和进程介绍
上图是zabbix的架构,zabbix proxy(代理),可以减小IO并发. zabbix web GUI是用php写的画图工具,从数据库抓取数据. zabbix database zabbix获取 ...
- webpack 配置之入门一
webpack 是一个现代 Javascript 应用程序的模块打包器(module bundler ),它里面的功能比较多,核心模块可分为模块打包.代码分割与按需加载.这里只简单讲解下 webpac ...
- WdatePicker设置时间与倒计时
之前苦于jQuery的datetimepicker插件不知道如何设置秒数,用了同学推荐的WdatePicker,真心好用. 相关文档用法可以上http://www.my97.net/dp/index. ...
- 获取文件或目录的属性 stat 函数
头文件: <sys/types.h> <sys/stat.h> <unistd.h> int stat(const char *path, struct ...
- Dubbo中有哪些角色?
registry 注册中心. 是用于发布和订阅服务的一个平台.用于替代SOA结构体系框架中的ESB服务总线的. 发布 开发服务端代码完毕后, 将服务信息发布出去. 实现一个服务的公开. 订阅 客户端程 ...