SQL之单表与多表查询
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之单表与多表查询的更多相关文章
- 将一个多表关联的条件查询中的多表通过 create select 转化成一张单表的sql、改为会话级别临时表 【我】
将一个多表关联的条件查询中的多表通过 create select 转化成一张单表的sql 将结果改为创建一个会话级别的临时表: -- 根据下面这两个sql CREATE TABLE revenu ...
- sql 单表distinct/多表group by查询去除重复记录
单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 下面先来看看例子: table id name 1 a 2 b ...
- SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)
SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅 ...
- sql server单表导入、导出
sql server单表导入.导出(通过CSV文件) 导出:直接打开查询分析器查询要导出表的信息(select * from 表),得到的结果全选,右键另存为 xxx.csv文件 (得到该表的所有 ...
- MySQL单表多字段模糊查询
今天工作时遇到一个功能问题:就是输入关键字搜索的字段不只一个字段,比如 我输入: 超天才 ,需要检索出 包含这个关键字的 name . company.job等多个字段.在网上查询了一会就找到了答案. ...
- SQL Server单表已700w+将普通表转换成分区表1
最近项目中,某个表数据量爆发时增长,单表已700w+,读写性能急剧下降,所以考虑加入分区表以解燃眉之急,后续还是要分表分库,当然这是后话.下面简要说一下将普通表转为分区表的步骤. 一.创建文件组 ...
- mysql数据库:mysql增删改、单表、多表及子查询
一.数据增删改 二.单表查询 三.正表达式匹配 四.多表查询 五.子查询 一..数据增删改 增加 insert [into] 表名[(可选字段名)] values(一堆值1),( ...
- SQL总结(二)连表查询
---恢复内容开始--- SQL总结(二)连表查询 连接查询包括合并.内连接.外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要. 只有真正了解它们之间的区别,才能正确使用. 1.Union ...
- SQL语句汇总(终篇)—— 表联接与联接查询
上一篇博文说到相关子查询效率低下,那我们怎么能将不同表的信息一起查询出来呢?这就需要用到表联接. 和之前的UNION组合查询不同,UNION是将不同的表组合起来,也就是纵向联接,说白了就是竖着拼起来. ...
- SQL查询数据库信息, 数据库表名, 数据库表信息
SQL查询数据库信息, 数据库表名, 数据库表信息 ---------------------------------------------- -- 以下例子, 在sql_server 中可以直接运 ...
随机推荐
- Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因
Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因:接口响应数据中有&#
- CentOS7设置开机自启动方式
方式一: # 在/etc/rc.d/rc.local文件中追加启动命令,该文件追加后,会随着机器自动后,自动运行文件中的命令 # vim /etc/rc.d/rc.local # 权限问题:在cent ...
- java.net.URL类
package com.mozq.boot.kuayu01.demo; import java.net.MalformedURLException; import java.net.URL; publ ...
- 访问https问题
访问https问题 package com.yuantiao.smartcardms.tools; import com.alibaba.fastjson.JSONObject; import com ...
- SQLi_Labs通关文档
SQLi_Labs通关文档 先列举一下sql基础语句 show databases; //查看数据库 use xxx; //使用某个数据库 show tables; //查看该数据库的数据表 desc ...
- 【shell脚本】不停地telnet一个ip或域名,并输出结果到文件中===telnetscript.sh
编写shell脚本不停地telnet一个域名,并输出结果到文件中 [root@localhost ~]# cat telnetscript.sh #!/bin/bash #检查是否在root用户下执行 ...
- telnet 发送邮件
telnet smtp.aliyun.com 25 // 这里用的是阿里云的smpt服务器,并且开放25端口 helo hi // 和阿里云的smtp服务器打招呼,测试是否连通 auth login ...
- 一个简单的 WPF 程序,用于显示实时时间
直接贴代码了: TimeShowerWindow.xaml <Window x:Class="HelloWorld.TimeShowerWindow" xmlns=" ...
- kali渗透综合靶机(九)--Typhoon靶机
kali渗透综合靶机(九)--Typhoon靶机 靶机下载地址:https://www.vulnhub.com/entry/typhoon-102,267/ 一.主机发现 1.netdiscover ...
- 修改VisualStudio的智能提示字体大小
最近换了一个高分辨率显示器,便觉得VisualStudio的字体过小了,虽然VisualStudio换字体还比较简单,大部分位置的字体基本上很顺利的就换掉了,然而一直找不到智能提示的字体所在位置,放狗 ...