DML语句使用

source  路径  :把SQL脚本导入到数据库中

查询语句类型:【简单查询|多表查询|子查询】

投影:select    字段名,字段名   from   表名   where   条件   :作对比

选择:select    *  from   表名    where   条件   :选择显示莫一行

单表查询

在一个表中,某个字段中相同的数值只显示一次!

select  distinct  字段名   from  表名;

from子句 :表,多个表,其他查询语句(select)

where子句:布尔关系表达式,操作符(<,>,>=,<=,=)

组合条件查询

符号:   %:任意长度任意字符

_:任意单个字符

rlike/regexp:使用正则表达式

in :离散取值

order  by  字段 (asc升序/desc降序):给查询出来的数据排序,(默认为升序)

and :和

or :或

not :非

between。。。and。。。:。。。与。。。。之间

select   cid  from  xuehao  where      not   cid >2;

关键字

select   cid  from  xuehao  where     cid    between  2  and  6;

关键字     cid在2与6之间(between:。。。与。。。之间)

select keming from    kehao  where    keming   like          'y%'

关键字  字段名   个字符

select keming from    kehao   where    keming    like         '%k%';

字符中包含了k的字符串

select keming from    kehao   where     keming   rlike            '^[ky].*$' ;

使用正则表达式     开头是k或y

select   cid   from    kehao  where      cid       in         (1,2,5);

筛选出一个表中id的值为1,2,5

select    *    from    xuehao     order   by  cid

排序   根据cid

别名:select  a.Name , b.Cname      from   students  as  a,courses  as  b  where  a.CID1=b.CID;

字段别名为a   字段别名为b           表别名为a      表别名是b   条件   表a的CID1=表b的CID

多表查询

连接方式

交叉连接:笛卡尔乘积

自然连接:将两张表上相同字段当中的的那个值逐一作比较,只将等值关系将它保留下来

外连接:

左外连接:左表  left  join  右表  on  条件

右外连接:左表  right  join 右表  on  条件

select s.Name,c.Cname  from  students   as    s  lef t join  courses  as     c  on     s.CID1=c.CID;

左表  别名   s   左外连接 右表  别名    c  连接条件

select s.Name,c.Cname  from  students   as    s   right join  courses  as  c  on  s.CID1=c.CID;

左表  别名   s   右外连接   右表  别名 c 连接条件

子连接:

比较操作中使用子查询,子查询只能返回单个值

in ():使用子查询

联合查询

union

(select Name,Age from  students) union  (select Tname,Age from  tutors);

SQL之单表与多表查询的更多相关文章

  1. 将一个多表关联的条件查询中的多表通过 create select 转化成一张单表的sql、改为会话级别临时表 【我】

    将一个多表关联的条件查询中的多表通过 create   select  转化成一张单表的sql 将结果改为创建一个会话级别的临时表: -- 根据下面这两个sql CREATE TABLE revenu ...

  2. sql 单表distinct/多表group by查询去除重复记录

    单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 下面先来看看例子: table   id name   1 a   2 b   ...

  3. SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)

    SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅 ...

  4. sql server单表导入、导出

    sql server单表导入.导出(通过CSV文件) 导出:直接打开查询分析器查询要导出表的信息(select *  from 表),得到的结果全选,右键另存为 xxx.csv文件  (得到该表的所有 ...

  5. MySQL单表多字段模糊查询

    今天工作时遇到一个功能问题:就是输入关键字搜索的字段不只一个字段,比如 我输入: 超天才 ,需要检索出 包含这个关键字的 name . company.job等多个字段.在网上查询了一会就找到了答案. ...

  6. SQL Server单表已700w+将普通表转换成分区表1

    最近项目中,某个表数据量爆发时增长,单表已700w+,读写性能急剧下降,所以考虑加入分区表以解燃眉之急,后续还是要分表分库,当然这是后话.下面简要说一下将普通表转为分区表的步骤.   一.创建文件组 ...

  7. mysql数据库:mysql增删改、单表、多表及子查询

    一.数据增删改 二.单表查询 三.正表达式匹配 四.多表查询 五.子查询       一..数据增删改     增加  insert [into] 表名[(可选字段名)] values(一堆值1),( ...

  8. SQL总结(二)连表查询

    ---恢复内容开始--- SQL总结(二)连表查询 连接查询包括合并.内连接.外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要. 只有真正了解它们之间的区别,才能正确使用. 1.Union ...

  9. SQL语句汇总(终篇)—— 表联接与联接查询

    上一篇博文说到相关子查询效率低下,那我们怎么能将不同表的信息一起查询出来呢?这就需要用到表联接. 和之前的UNION组合查询不同,UNION是将不同的表组合起来,也就是纵向联接,说白了就是竖着拼起来. ...

  10. SQL查询数据库信息, 数据库表名, 数据库表信息

    SQL查询数据库信息, 数据库表名, 数据库表信息 ---------------------------------------------- -- 以下例子, 在sql_server 中可以直接运 ...

随机推荐

  1. Python入门基础学习(函数)

    Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...

  2. python函数加括号于不加括号的区别

    一.不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不须等该函数执行完成二.带括号(参数或者无参),调用的是函数的执行结果,须等该函数执行完成的结果 def test(a): ret ...

  3. 作业一(python初认识)

    一.python发展历史 1989,为了度过圣诞假期,Guido开始编写Python语言编译器.Python这个名字来自Guido的喜爱的电视连续剧<蒙蒂蟒蛇的飞行马戏团>.他希望新的语言 ...

  4. redis数据查看工具

    Redis缓存数据库目前已大量的应用,广泛用于存储session信息,权限信息,交易作业等热数据.但是Redis存在的数据可视化不便.Redis的数据查看维护困难.Redis状态监控运维不易等问题.使 ...

  5. layui的引用js踩坑

    前言: 今天因为项目需要,需要使用layui,因为本身不多的前端经验,以为layui的用法和其他的前端框架,例如jquery,bootstrap等等,只需要直接引入layui.js,和layui.cs ...

  6. 正睿暑期培训day3考试

    链接 A 可以发现一个小棍的贡献是使得左右两列上的球位置互换.所以只要找出哪两个球会经过当前位置,然后swap一下就行了.. 考场上调了2.5h,依然没过样例.赛后发现忘了排序!!!!... /* * ...

  7. 58同城笔试题:数组去重;分饼干(分糖果);最小路径和(leetcode64)

    1. 数组去重 题目描述 /** * 有序数组去重 * 输出最终的数字个数 * 输入:1,2,2 * 输出:2 * @author Turing * */ 代码 import java.util.*; ...

  8. touch.js - 移动设备上的手势识别与事件库

    Touch.js 是移动设备上的手势识别与事件库, 由百度云Clouda团队维护,也是在百度内部广泛使用的开发工具.Touch.js手势库专为移动设备设计.Touch.js对于网页设计师来说,是一款不 ...

  9. 微服务通过feign.RequestInterceptor传递参数

    Feign 支持请求拦截器,在发送请求前,可以对发送的模板进行操作,例如设置请求头等属性,自定请求拦截器需要实现 feign.RequestInterceptor 接口,该接口的方法 apply 有参 ...

  10. 如何判断服务器之间的服务是否可用?ping 还是 telnet?

    1. 背景 机器A需要调用机器B的服务,为此要保证服务的可用性,我们有时候用ping,有时候用telent来验证机器A和B的连通性,但有时候会出现这种情况,A可以ping通B,但A调用B的服务会一直报 ...