当前位置: 首页 > news >正文

贵阳市观山湖区网站建设黄骅贴吧新鲜事

贵阳市观山湖区网站建设,黄骅贴吧新鲜事,怎么写wordpress插件,做网站现在用什么语言目录通用语法及分类DQL#xff08;数据查询语言#xff09;基础查询条件查询聚合查询#xff08;聚合函数#xff09;分组查询排序查询分页查询内连接查询外连接查询自连接查询联合查询子查询列子查询行子查询表子查询总结通用语法及分类 ● DDL: 数据定义语言#xff0c… 目录通用语法及分类DQL数据查询语言基础查询条件查询聚合查询聚合函数分组查询排序查询分页查询内连接查询外连接查询自连接查询联合查询子查询列子查询行子查询表子查询总结通用语法及分类 ● DDL: 数据定义语言用来定义数据库对象数据库、表、字段 ● DML: 数据操作语言用来对数据库表中的数据进行增删改 ● DQL: 数据查询语言用来查询数据库中表的记录 ● DCL: 数据控制语言用来创建数据库用户、控制数据库的控制权限 DQL数据查询语言 语法 SELECT字段列表 FROM表名字段 WHERE条件列表 GROUP BY分组字段列表 HAVING分组后的条件列表 ORDER BY排序字段列表 LIMIT分页参数基础查询 查询多个字段 SELECT 字段1, 字段2, 字段3, ... FROM 表名; SELECT * FROM 表名; 设置别名 SELECT 字段1 [ AS 别名1 ], 字段2 [ AS 别名2 ], 字段3 [ AS 别名3 ], ... FROM 表名; SELECT 字段1 [ 别名1 ], 字段2 [ 别名2 ], 字段3 [ 别名3 ], ... FROM 表名; 去除重复记录 SELECT DISTINCT 字段列表 FROM 表名; 转义 SELECT * FROM 表名 WHERE name LIKE /_张三 ESCAPE / / 之后的_不作为通配符 条件查询 语法 SELECT 字段列表 FROM 表名 WHERE 条件列表; 条件 比较运算符 功能 大于大于等于小于小于等于等于或 ! 不等于 BETWEEN ... AND ... 在某个范围内含最小、最大值 IN(...) 在in之后的列表中的值多选一 LIKE 占位符 模糊匹配_匹配单个字符%匹配任意个字符 IS NULL 是NULL 逻辑运算符 功能 AND 或 并且多个条件同时成立 OR 或 || 或者多个条件任意一个成立 NOT 或 ! 非不是例子 -- 年龄等于30 select * from employee where age 30;-- 年龄小于30 select * from employee where age 30;-- 小于等于 select * from employee where age 30;-- 没有身份证 select * from employee where idcard is null or idcard ;-- 有身份证 select * from employee where idcard; select * from employee where idcard is not null;-- 不等于 select * from employee where age ! 30;-- 年龄在20到30之间 select * from employee where age between 20 and 30; select * from employee where age 20 and age 30;-- 下面语句不报错但查不到任何信息 select * from employee where age between 30 and 20;-- 性别为女且年龄小于30 select * from employee where age 30 and gender 女;-- 年龄等于25或30或35 select * from employee where age 25 or age 30 or age 35; select * from employee where age in (25, 30, 35);-- 姓名为两个字 select * from employee where name like __;-- 身份证最后为X select * from employee where idcard like %X;聚合查询聚合函数 常见聚合函数 函数 功能count 统计数量max 最大值min 最小值avg 平均值sum 求和 语法 SELECT 聚合函数(字段列表) FROM 表名; 例 SELECT count(id) from employee where workaddress 广东省; 分组查询 语法 SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后的过滤条件 ]; where 和 having 的区别 ● 执行时机不同where是分组之前进行过滤不满足where条件不参与分组having是分组后对结果进行过滤。 ● 判断条件不同where不能对聚合函数进行判断而having可以。 例子 根据性别分组统计男性和女性数量只显示分组数量不显示哪个是男哪个是女 select count(*) from employee group by gender; 根据性别分组统计男性和女性数量 select gender, count(*) from employee group by gender; 根据性别分组统计男性和女性的平均年龄 select gender, avg(age) from employee group by gender; 年龄小于45并根据工作地址分组 select workaddress, count(*) from employee where age 45 group by workaddress; 年龄小于45并根据工作地址分组获取员工数量大于等于3的工作地址 select workaddress, count(*) address_count from employee where age 45 group by workaddress having address_count 3; 注意事项 ● 执行顺序where 聚合函数 having ● 分组之后查询的字段一般为聚合函数和分组字段查询其他字段无任何意义 排序查询 语法 SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2; 排序方式 ● ASC: 升序默认 ● DESC: 降序 例子 根据年龄升序排序 SELECT * FROM employee ORDER BY age ASC; SELECT * FROM employee ORDER BY age; 两字段排序根据年龄升序排序入职时间降序排序 SELECT * FROM employee ORDER BY age ASC, entrydate DESC; 注意事项 如果是多字段排序当第一个字段值相同时才会根据第二个字段进行排序 分页查询 语法 SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数; 例子 查询第一页数据展示10条 SELECT * FROM employee LIMIT 0, 10; 查询第二页 SELECT * FROM employee LIMIT 10, 10; 注意事项 ● 起始索引从0开始起始索引 查询页码 - 1 * 每页显示记录数 ● 分页查询是数据库的方言不同数据库有不同实现MySQL是LIMIT ● 如果查询的是第一页数据起始索引可以省略直接简写 LIMIT 10 合并查询笛卡尔积会展示所有组合结果 select * from employee, dept; 笛卡尔积两个集合A集合和B集合的所有组合情况在多表查询时需要消除无效的笛卡尔积 消除无效笛卡尔积 select * from employee, dept where employee.dept dept.id; 内连接查询 内连接查询的是两张表交集的部分 隐式内连接 SELECT 字段列表 FROM 表1, 表2 WHERE 条件 ...; 显式内连接 SELECT 字段列表 FROM 表1 [ INNER ] JOIN 表2 ON 连接条件 ...; 显式性能比隐式高 例子 -- 查询员工姓名及关联的部门的名称 -- 隐式 select e.name, d.name from employee as e, dept as d where e.dept d.id; -- 显式 select e.name, d.name from employee as e inner join dept as d on e.dept d.id;外连接查询 左外连接 -- 查询左表所有数据以及两张表交集部分数据 SELECT 字段列表 FROM 表1 LEFT [ OUTER ] JOIN 表2 ON 条件 ...; -- 相当于查询表1的所有数据包含表1和表2交集部分数据右外连接 -- 查询右表所有数据以及两张表交集部分数据 SELECT 字段列表 FROM 表1 RIGHT [ OUTER ] JOIN 表2 ON 条件 ...;例子 -- 左 select e.*, d.name from employee as e left outer join dept as d on e.dept d.id; select d.name, e.* from dept d left outer join emp e on e.dept d.id; -- 这条语句与下面的语句效果一样 -- 右 select d.name, e.* from employee as e right outer join dept as d on e.dept d.id;左连接可以查询到没有dept的employee右连接可以查询到没有employee的dept 自连接查询 当前表与自身的连接查询自连接必须使用表别名 语法 SELECT 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件 ...; 自连接查询可以是内连接查询也可以是外连接查询 例子 -- 查询员工及其所属领导的名字 select a.name, b.name from employee a, employee b where a.manager b.id; -- 没有领导的也查询出来 select a.name, b.name from employee a left join employee b on a.manager b.id;联合查询 把多次查询的结果合并形成一个新的查询集 (union, union all) 语法 SELECT 字段列表 FROM 表A ... UNION [ALL] SELECT 字段列表 FROM 表B ...注意事项 ● UNION ALL 会有重复结果UNION 不会 ● 联合查询比使用or效率高不会使索引失效 子查询 SQL语句中嵌套SELECT语句称谓嵌套查询又称子查询。 SELECT * FROM t1 WHERE column1 ( SELECT column1 FROM t2);子查询外部的语句可以是 INSERT / UPDATE / DELETE / SELECT 的任何一个 根据子查询结果可以分为 标量子查询子查询结果为单个值列子查询子查询结果为一列行子查询子查询结果为一行表子查询子查询结果为多行多列 根据子查询位置可分为 WHERE 之后FROM 之后SELECT 之后 标量子查询 子查询返回的结果是单个值数字、字符串、日期等。 常用操作符- 例子 -- 查询销售部所有员工 select id from dept where name 销售部; -- 根据销售部部门ID查询员工信息 select * from employee where dept 4; -- 合并子查询 select * from employee where dept (select id from dept where name 销售部);-- 查询xxx入职之后的员工信息 select * from employee where entrydate (select entrydate from employee where name xxx);列子查询 返回的结果是一列可以是多行。 常用操作符 操作符 描述 IN 在指定的集合范围内多选一 NOT IN 不在指定的集合范围内 ANY 子查询返回列表中有任意一个满足即可 SOME 与ANY等同使用SOME的地方都可以使用ANY ALL 子查询返回列表的所有值都必须满足例子 -- 查询销售部和市场部的所有员工信息 select * from employee where dept in (select id from dept where name 销售部 or name 市场部); -- 查询比财务部所有人工资都高的员工信息 select * from employee where salary all(select salary from employee where dept (select id from dept where name 财务部)); -- 查询比研发部任意一人工资高的员工信息 select * from employee where salary any (select salary from employee where dept (select id from dept where name 研发部));行子查询 返回的结果是一行可以是多列。 常用操作符, , , IN, NOT IN 例子 -- 查询与xxx的薪资及直属领导相同的员工信息 select * from employee where (salary, manager) (12500, 1); select * from employee where (salary, manager) (select salary, manager from employee where name xxx);表子查询 返回的结果是多行多列 常用操作符IN 例子 -- 查询与xxx1xxx2的职位和薪资相同的员工 select * from employee where (job, salary) in (select job, salary from employee where name xxx1 or name xxx2);-- 查询入职日期是2006-01-01之后的员工及其部门信息 select e.*, d.* from (select * from employee where entrydate 2006-01-01) as e left join dept as d on e.dept d.id;总结 DQL执行顺序 FROM - WHERE - GROUP BY - SELECT - ORDER BY - LIMIT
http://www.hkea.cn/news/14568404/

相关文章:

  • 如何做一网站网络网站
  • 手机网站建设报价建设网站如何弄好几张网站背景
  • 做外贸需要网站吗装饰公司营销型网站
  • 外贸导向企业网站运营笔记wordpress
  • 公司网站做的好的公司学校网站建设规划书
  • 网站页面多少如何制作公司网址
  • 网站怎样和首页做链接商业收款码怎么推广赚钱
  • 如何设计公司官网站手机网站建设服务器
  • 深圳专业网站建设定制wordpress导入文章
  • 色轮 网站网站建设公司的网站
  • 专业做网站+上海怎么给网站添加黑名单
  • 网站开发集成环境百度怎样做网站并宣传网站
  • 厦门做网站维护的公司池州家居网站建设怎么样
  • 网站备案后有什么好处免费国产linux服务器系统
  • 作网站网站免备案空间
  • 建设银行网站的特点网上学电脑培训中心
  • 小型企业网站设计点击器 百度网盘
  • 建立电子商务网站合肥做淘宝网站推广
  • 网站做动态图片大全北京城乡建设门户网站
  • 建设免费网站麦云短链接
  • 建网站要多少费用wordpress创建主题面板
  • 网站建设找什么公司好大连网络营销公司排名
  • asp.net做的音乐网站wordpress 添加导航栏
  • 网站设计内容包括在线制作结婚证
  • 专门做网页设计网站上海官网网址
  • wordpress 网站很卡网站建站代理
  • 北京建设教育协会官方网站app程序制作
  • wordpress子站共享用户名上海网站建设报价
  • 网站开发语言学习C 吗模块化网站开发
  • 周浦网络网站建设公司做网站ui设计多少钱