当我们使用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. Openstack贡献者须知 — OpenPGP/SSH/CLA贡献者协议

    目录 目录 前言 Openstack基金委员会 Openstack贡献者须知 注册Openstack In Launchpad 生成并上传OpenPGP密钥 生成并上传SSH公钥 Join The O ...

  2. db2,用户名密码不对导致无法连接数据库: Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000

    文章目录 背景 解决 背景 qa需要db2的demo,运维给安装完db2,启动报错 com.ibm.db2.jcc.am.io: [jcc][t4][2013][11249][4.7.112] Con ...

  3. 词表征 3:GloVe、fastText、评价词向量、重新训练词向量

    原文地址:https://www.jianshu.com/p/ca2272addeb0 (四)GloVe GloVe本质是加权最小二乘回归模型,引入了共现概率矩阵. 1.基本思想 GloVe模型的目标 ...

  4. URAL 1748 The Most Complex Number

    题目链接:https://vjudge.net/problem/11177 题目大意: 求小于等于 n 的最大反素数. 分析: n <= 10^18,而前20个素数的乘积早超过10^18,因此可 ...

  5. Servlet.init() for servlet [springmvc] threw exception

    项目还没开始做,就碰到那么多问题.. 报错一:/oa/news/%E6%A0%8F%E7%9B%AE%E7%AE%A1%E7%90%86.jsp 1.一开始是jsp的页面名称为中文,改了 2.接着仍然 ...

  6. 深入浅出JS:Two

    JS中的Promise: MDN上面对promise的描述:Promise 对象用于表示一个异步操作的最终状态(完成或失败),以及其返回的值. 可以直接对字面上理解:Promise:承诺,一诺千金,只 ...

  7. Delphi(ObjectPascal)基础语法

      一个程序分为两个部分:1.程序首部:program 来标识这是一个pascal程序  后面的是可执行文件的名称程序名称2.程序体:说明部分:数据先定义后使用执行部分:以begin开始,以end结束 ...

  8. java oop第12章_IO、序列化和反序列化

    引言:数据通常通过文件系统保存在外存中,有时需要将他们读取到程序中进行一些操作,Java针对文件系统的操作提供了一套规范,即IO,针对计算机内存而言,输入的称为输入流,输出的称为输出流. 一.     ...

  9. Exception一自定义异常

    异常体系的根类是:Throwable Throwable: Error:   重大的问题,我们处理不了.也不需要编写代码处理.比如说内存溢出. Exception:   一般性的错误,是需要我们对编写 ...

  10. MaxCompute问答整理之9月

    本文是基于本人对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文.希望对大家有所帮助. 问题一.如何查看information_schema的tables? 在使用OD ...