美文网首页
SQL查询语句

SQL查询语句

作者: 沧州宁少 | 来源:发表于2018-06-10 22:27 被阅读0次

SQL查询语句

  • 创建计算字段
    SELECT vender_name || ' (' || vender_country || ')'

  • MySQL上 创建计算字段

    SELECT Contact(vender_name,' (',vender_country,')') From table order by name

  • 去除两边的空格。
    SELECT RTRIM(vender_name) + '(' + RTRIM(vender_country) + ')'

  • 为创建的计算字段起别名
    SELECT Contact(vender_name,' (',vender_country,')') AS vender_title From table order by name

  • 执行算数计算
    SELECT prod_id,quantity,item_price,quantity*item_price AS expanded_price From OrderItems WHERE order_num = 20008

文本处理函数

  • UPPER
    SELECT vender_name ,UPPER(vender_name) AS vend_name_upcase FROM Vendors ORDER BY vend_name
  • LEFT 返回字符串左边的字符
  • LENGTH() 返回字符串的长度
  • LOWER() 将字符串变为小写
  • LIRIM() 去掉字符串左边的空格
  • RIRIM() 去掉字符串右面的空格
  • RIGHT() 返回字符串右面的字符
  • SOUNDEX()返回字符串的SOUNDEX值

汇总数据

  • AVG 求平均值
    SELECT AVG(price) AS avg_price FROM table
  • COUNT(*) 对表中行进行计数。无论是列中是否包含空值。COUNT(column)对特定的列中具有值的行进行统计
  • MAX() 返回指定列中的最大值。如果是文本则返回排序后的最后一行
  • MIN()作用和上面完全相反。返回最大值的行。 文本的话返回排序后的第一行。
  • SUM(item_price * quantity) 返回订单中所有物品价钱之和。
  • SELECT COUNT(DISTINCT price ) AS item_price FROM Table WHERE id = 10.过滤不同值。
  • 组合使用
    SELECT COUNT(*) AS num_items MIN(prod_price) AS price_min,MAX(price_max) AS price_max,AVG(prod_price) AS price_avg FROM TABLE

创建分组

  • GROUP BY创建分组
     SELECT vend_id ,COUNT(*) AS num_prods FROM Products Group By vend_id
  • GROUP By子句必须出现在WHERE 之后,ORDER BY之前。
  • HAVING 可以替代所有的WHERE 只不过HAVING过滤的是分组,WHERE过滤的是行。
  • HAVING和WHERE 结合用。
      SELECT vend_id,COUNT(*) AS num_prods FROM table WHERE price>4 GROUP by vend_id HAVING COUNT(*)>2
  • ORDER By 和GROUP BY结合来使用
      SELECT order_numer,COUNT(*) AS item_count FROM table GROup By id HAVing COUNT(*)>2 ORDER by item_count

子查询

  • 我们先查阅包含RANG01的订单号
    SELECT order_id FROM goods WHERE goods_name = 'RANG01'
  • 根据订单id查询所有user_id
    SELECT user_id FROM oders WHERE order_id in ('1001','1002')
  • 根据user_id获取用户的信息
    SELECT user_name ,user_age FROM users WHERE user_id in ('1333','1332')
  • 主查询嵌套子查询
      SELECT user_name ,user_age FROM users WHERE user_id in (SELECT user_id FROM oders WHERE order_id in (SELECT order_id FROM goods WHERE goods_name = 'RANG01'))

查询语句可以嵌套,作为子查询的SELECT 语句只能查询单独的列,企图索引多列将返回错误。

  • 计算字段使用子查询
      SELECT name,age,(COUNT(*)FROM wn_table WHERE wn_table.order_id = ll_table.order_id) AS ids FROM wn_table ORDER BY cust_name
  • 上面的复杂的子查询还可以通过内连结的方式

    SELECT cust_name,cust_contact FROM
    Customers,Orders,OrderItems WHERE Customers.cust_id =  
    Orders.cust_id And OrderItems.order_num =   Order.order_num               AND prod_id = 'RANG01';     
    

相关文章

  • Java自学-JDBC 查询

    在JDBC中使用ResultSet查询SQL语句 执行查询SQL语句 步骤 1 : 查询语句 executeQue...

  • mysql数据库查询语句

    1.简单的查询基本表的SQL语句 (1)查询语句 (2)查询语句 Student表的删除SQL语句: 选课表的操作...

  • SQL查询语句

    常用SQL查询语句 一、简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SE...

  • 搜索

    直接sql查询 用sql语句like查询,复杂的用sql语句拼接。 视图和存储过程查询 简化程序,提高执行效率,维...

  • SqlServer查询表空间占用情况

    查询sql语句

  • 查看Django ORM执行的SQL语句

    查询QuerySet对象执行的SQL语句 查询当前执行的SQL包括Django内置执行的多条执行的SQL语句

  • 【完整】Jmeter JDBC Request查询出多条SQL之

    Jmeter 建立oracle链接后,需要查询多条sql语句,且第一条sql语句的查询结果,要作为后续sql语句的...

  • 《SQL必知必会》笔记6-子查询、联结表join

    1 使用子查询 查询(query):任何SQL语句都是查询,但一般指SELECT语句。 SQL还允许创建子查询(s...

  • sql

    sql经典语句经典SQL语句大全(绝对的经典) - 浪迹天涯芳草 - 博客园 sql语法SQL语句查询语句完整语法...

  • mysql基础——sql 执行流程

    内容 一条sql查询语句如何执行 一条sql更新语句如何执行 一 1条sql查询语句如何执行 1.1 执行流程例如...

网友评论

      本文标题:SQL查询语句

      本文链接:https://www.haomeiwen.com/subject/maiqeftx.html