当我们使用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_章基本查询的更多相关文章

  1. MySQL数据操作与查询笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 第1章 MySQL数据操作与查询笔记 • [第1章 MySQL数据库基础] 第2章 MySQL数据操作与查询笔记 • [第2章 表结构管 ...

  2. 图解|12张图告诉你MySQL的主键查询为什么这么快

    这是图解MySQL的第3篇文章,这篇文章会让大家清楚地明白: 什么是InnoDB行格式?InnoDB页是什么? InnoDB页和InnoDB行格式都有哪些字段信息? 为什么推荐使用自增ID作为主键,而 ...

  3. Mysql多表表关联查询 inner Join left join right join

    Mysql多表表关联查询 inner Join left join right join

  4. mysql多表联合查询

    转自:http://www.cnblogs.com/Toolo/p/3634563.html 多表连接,小分三种(笛卡尔积.内连接.外连接),多分五种 (笛卡尔积.内连接.左连接.右连接.全连接(my ...

  5. mysql中的模糊查询

    转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...

  6. mysql怎么限制某些查询语句的执行?

    mysql怎么限制某些查询语句的执行? 比如某些sql语句执行时间很长,超过10s,怎么样超过10s就不让其执行? 后续更新中...

  7. MySQL如何执行关联查询

    MySQL中‘关联(join)’ 一词包含的意义比一般意义上理解的要更广泛.总的来说,MySQL认为任何一个查询都是一次‘关联’ --并不仅仅是一个查询需要到两个表的匹配才叫关联,索引在MySQL中, ...

  8. mysql 存储过程:提供查询语句并返回查询执行影响的行数

    mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREAT ...

  9. Mysql 连接查询 Mysql支持的连接查询有哪些

    CREATE TABLE `chx` (   `id` VARCHAR(20) NOT NULL,   `name` VARCHAR(50) DEFAULT NULL,   `name2` CHAR( ...

随机推荐

  1. PAT_A1024#Palindromic Number

    Source: PAT A1024 Palindromic Number (25 分) Description: A number that will be the same when it is w ...

  2. 1103 Integer Factorization (30)

    1103 Integer Factorization (30 分)   The K−P factorization of a positive integer N is to write N as t ...

  3. WebStorage篇

    [WebStorage篇] 用户登录状态.计数器或者小游戏等,但是又不希望用到数据库,就可以利用Web Storage技术将数据存储在用户浏览器中. Web Storage是一种将少量数据存储在客户端 ...

  4. C# String类常用操作

    1.string.Compare(s1,s2) 比较  按字母顺序后边的大于前边的 s1<s2 retrun -1 ;s1=s2 return 0; s1>s2 return1. Cons ...

  5. hdu6354 /// 线段树

    题目大意: 给定n m x y z 长度为n的序列初始为0 接下来m个操作 l r v 将l r区间内比v小的数都变成v l r v由x y z和给定的函数生成 线段树维护区间 最大值 最小值 再加 ...

  6. Hive实践(hive0.12)

    版本号:cdh5.0.0+hadoop2.3.0+hive0.12 一.原始数据: 1. 本地数据 [root@node33 data]# ll total 12936 -rw-r--r--. 1 r ...

  7. 矢量切片应用中geoserver与geowebcache分布式部署方案

    在进行GIS项目开发中,常使用Geoserver作为开源的地图服务器,Geoserver是一个JavaEE项目,常通过Tomcat进行部署.而GeoWebCache是一个采用Java实现用于缓存WMS ...

  8. 2019-9-25-如何让-USB-设备不显示安全删除硬件弹出选项

    title author date CreateTime categories 如何让 USB 设备不显示安全删除硬件弹出选项 lindexi 2019-09-25 11:58:19 +0800 20 ...

  9. 杭电多校第一场-B-Operation

    题目描述 There is an integer sequence a of length n and there are two kinds of operations:0 l r: select ...

  10. (PASS)字符数组\字符串数组 和 字符串 的相互转换

    1,字符数组 转换为 字符串 java可以使用两种方法直接将字符数组转为字符串. 方法1:直接在构造String时转换. char[] data = {'a', 'b', 'c'}; String s ...