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( ...
随机推荐
- Awesome Adb——一份超全超详细的 ADB 用法大全
https://github.com/mzlogin/awesome-adb https://www.cnblogs.com/bravesnail/articles/5850335.html ...
- linux get current thread count and system threads limit
get current thread count grep -s '^Threads' /proc/[0-9]*/status | awk '{ sum += $2; } END { print su ...
- Collection Lists
ArrayList LinkedList Vector 顺序添加 抽象数据类型(ADT)是一个实现包括储存数据元素的存储结构以及实现基本操作的算法. ArrayList (1)ArrayList是 ...
- Java【并发】面试题
精尽 Java[并发]面试题 以下面试题,基于网络整理,和自己编辑.具体参考的文章,会在文末给出所有的链接. 如果胖友有自己的疑问,欢迎在星球提问,我们一起整理吊吊的 Java[并发]面试题的大保健. ...
- 剑指offer——72圆圈中最后剩下的数字
题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...
- c# mvc 简洁大气官网---源码
结构
- 项目警告:There are multiple modules with names that only differ in casing.This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.Use equal casing. Compare these modul
记录个自己遇到的问题: 上星期项目刚拉取下来的时候运行没有任何警告,晚上回去vscode提示更新新的东西,当时没管就立即更新了,第二天重启项目直接一大堆警告冒了出来: There are multip ...
- WPF 模仿 UltraEdit 文件查看器系列一 用户控件
WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...
- URLSearchParams接口用来处理浏览器的url
URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串. URLSearchParams.append()插入一个指定的键/值对作为新的搜索参数. URLSearchPa ...
- delphi xe10 文件目录/路径操作 (Andorid、ios)
//获取临时文件路径(支持安卓.IOS) function GeFileName(const AFileName: string): string; begin {$IFDEF ANDROID} Re ...