MySQL—语法总结(2)子查询、连接、函数

比较运算符:=、>、<、>=、<=、<>、!=、<=>

SELECT AVG(col_name) FROM tb_name;                             # 对指定字段使用聚合函数SELECT ROUND((AVG(col_name),2) FROM tb_name;                   # 对聚合函数结果保留两位小数SELECT col_name1,col_name2 FROM tb_name WHERE col_name1 >(SELECT ROUND((AVG(col_name),2) FROM tb_name) ;        # 子查询作为外层查询的条件

SELECT...FROM...WHERE col_name > [ANY|SOME|ALL](...)                      # ANY、SOME、ALL关键字



  

原文地址:https://www.cnblogs.com/Lengjie/p/9439960.html

时间: 2024-10-03 05:08:54

MySQL—语法总结(2)子查询、连接、函数的相关文章

MSSQL 4表联查,子查询,函数统计,分组条件查询综合应用实例

1 SELECT 2 [UserName] 3 ,[Yhxm] 4 ,[Qx] 5 ,[Phone] 6 ,[Number] = COUNT([UserName]) 7 FROM 8 (SELECT 9 [UserName] = A.[username] 10 ,[Yhxm] = B.[xm] 11 ,[Qx] = D.[P_Power] 12 ,[Phone] = B.[dh] 13 ,[DayCount] = (SELECT COUNT(*) FROM [Caihuashun_FuJian_

MySql学习 - 查询/子查询/连接查询/联合查询

数据库查询 设定两张数据库表 第一个表格user包含: user_id username age sex 1 Alps1992 22 man 第二个表格toy包含 user_id toyname 1 OnePiece 普通查询: 查询关键字: AS, SUM, DESC, GROUP BY, ORDER BY, AVG, MIN, MAX, COUNT, LIMIT; 关键字查询例子 select * from user as u order by age limit 5; // as 用来做别

MySQL学习15:子查询(一)

一数据准备 (1)创建数据库 CREATE DATABASE IF NOT EXISTS t2 CHARACTER SET gbk; (2)创建数据表 CREATE TABLE IF NOT EXISTS tdb_goods( goods_id    SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, goods_name  VARCHAR(150) NOT NULL, goods_cate  VARCHAR(40)  NOT NULL, brand_na

MySQL学习15:子查询(二)

二子查询 3由[NOT] IN/EXISTS引发的子查询 使用[NOT] IN引发的子查询的语法结构:operand comparsion_operator [NOT] IN (subquery).其中,=ANY运算 符与IN等价:!=ALL或<>ALL运算符与NOT IN等价. 例子: 1)查询所有商品中价格等于超级本价格(任意一个)的商品 SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price IN (

mysql优化---in型子查询,exists子查询,from 型子查询

in型子查询引出的陷阱:(扫更少的行,不要临时表,不要文件排序就快) 题: 在ecshop商城表中,查询6号栏目的商品, (注,6号是一个大栏目) 最直观的: mysql> select goods_id,cat_id,goods_name from goods where cat_id in (select cat_id from category where parent_id=6); 误区: 给我们的感觉是, 先查到内层的6号栏目的子栏目,如7,8,9,11 然后外层, cat_id in

MySQL比较运算符的子查询

使用比较运算符的子查询 =.>.<.>=.<=.<>.!=.<=> 语法结构 operand comparison_operator subquery 需要使用ANY.SOME.ALL查询子句. operand comparison_operator  ANY| SOME | ALL  (subquery);

为什么MySQL不推荐使用子查询和join

前言: 1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据. 2.子查询就更别用了,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程. 3.如果是JOIN的话,它是走嵌套查询的.小表驱动大表,且通过索引字段进行关联.如果表记录比较少的话,还是OK的.大的话业务逻辑中可

MySQL中常用操作--子查询

子查询就是SELECT 查询是另一个SELECT的附属,  此时, MySQL从最内层的查询开始, 再向外向上查询, 接着最外层的父查询被执行, 它的结果也指定给父查询. 带IN的子查询:只有子查询返回的结果列中包含一个值时, 比较运算符才适用. 假如一个子查询的返回结果集是值的列表, 这时比较运算符就必须用关键字IN代替IN运算符可以检测结果集中是否存在某个特定的值, 如果检测成功就执行外部的查询. mysql> select * from stu -> ; +----+----------

MySQL数据库update更新子查询

比如: UPDATE test.tb_vobile a set a.name = '111 'WHEREa.id = (select max(id) id from test.tb_vobile) 报错: [SQL]UPDATE test.tb_vobile a set a.name = '111 'WHEREa.id = (select max(id) id from test.tb_vobile) [Err] 1093 - You can't specify target table 'a'

mysql select后面的子查询

select后面的子查询使用,只能是标量查询 #案例:查询每个部门的员工个数 SELECT d.*,( SELECT COUNT(*) FROM employees WHERE employees.`department_id`=d.department_id ) FROM departments d; #案例:查询员工号=102的部门名 SELECT department_name FROM employees e INNER JOIN departments d ON e.`departme