精华内容
下载资源
问答
  • 实验四 数据查询——简单查询   一、实验目的 1.掌握SQL查询语句的基本概念  2.掌握SQLServer查询语句的基本语法 3.熟练使用SQL的Select语句对单表进行查询 4.熟练掌握并运用SQLServer所提供的函数 5...

    实验四  数据查询——简单查询

     

    一、实验目的

    1.掌握SQL查询语句的基本概念 

    2.掌握SQLServer查询语句的基本语法

    3.熟练使用SQLSelect语句对单表进行查询

    4.熟练掌握并运用SQLServer所提供的函数

    5.熟练使用SQL语句进行连接操作 

     

    二、实验环境(实验的软件、硬件环境)

    硬件:PC机 软件:SQL2000

     

    三、实验说明

    请复习相关的单表查询及select语句的语法知识点,并完成如下内容。

     

    四、实验内容

    1.在订单数据库orderDB中,完成如下的查询:

    1)查询所有业务部门的员工姓名,职称,薪水

    2)查询名字中含有“有限”的客户姓名和所在地

    3)查询姓“王”并且姓名的最后一个字为“成”的员工

    4)查询住址中含有上海或南昌的女员工,并显示其姓名,所属部门,职称,住址,其中性别用“男”和“女”显示。

    5)查询订单金额高于8000的所有客户编号

    6)选取编号界于C0001~C0004的客户编号,客户名称,客户地址

    7)找出同一天进入公司服务的员工

    8)在订单主表中查询订单金额大于“E2005002”业务员在2008-1-9这天所接的任一张订单的金额”的所有订单信息。

    9)查询既订购了“52倍速光驱”商品,又订购了“17寸显示器”商品的客户编号、订单编号和订单金额。

    10)查找与“陈诗杰”在同一个单位工作的员工姓名、性别、部门和职务。

    11)查询单价高于400元的商品编号、商品名称、订货数量和订货单价。

    12)分别使用左外连接、右外连接、完整外部连接查询单价高于400元的商品编号、商品名称、订货数量和订货单价,并分析比较检索的结果。

    13)查找每个员工的销售记录,要求显示销售员的编号、姓名、性别、商品名称、数量、单价、金额和销售日期,其中性别使用“男”和“女”表示,日期使用yyyy-mm-dd格式显示。

    14)查找在20083月中有销售记录的客户编号、名称和订单总额。

    15)使用左外连接查找每个客户的客户编号、名称、订单日期、订货金额,其中订货日期不要显示时间,日期格式为yyyy-mm-dd,按客户编号排序,同一客户再按订单金额降序排序输出。

    16)查找16M DRAM的销售情况,要求显示相应的销售员的姓名,性别,销售日期、销售数量和金额,其中性别用“男”,“女”表示。

    17)查找公司男业务员所接且订单金额超过2000元的订单号及订单金额。

    18)查找来自上海市的客户的姓名,电话,订单号及订单金额。

    五、实验步骤

    请完成实验内容,并写出具体的实验步骤

     

    六、思考题:

    1.连接操作类型有哪些?分析外连接在现实应用中的意义?

    2.查询表可以用在什么地方?使用查询表要注意哪些地方?

    3.分析between…andandor等关键字的使用方法?

    4.分析哪些情况需要使用自身连接?

    5.总结SQL语句中单表查询语句的使用方法?

     

    七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

     

    use OrderDB


    /* 简单查询都比较简单,注意下case 语句使用,以及第7题  ,12题的连接写法 */

    /* 做实验的时候最好都运行一下,看看结果对不对,没有这种数据的话就自己设置几组符合情况的数据*/
    --(1)查询所有业务部门的员工姓名,职称,薪水
    select Employeename,Headship,Salary from Employee where Department='业务科'


    --(2)查询名字中含有“有限”的客户姓名和所在地
    select CustomerName,Address  from Customer where CustomerName like '%有限%'


    --(3)查询姓“王”并且姓名的最后一个字为“成”的员工
    select * from Employee where EmployeeName like '王%成'


    --(4)查询住址中含有上海或南昌的女员工,并显示其姓名,所属部门,职称,住址,其中性别用“男”和“女”显示。
    select EmployeeName,Department,Headship,Address,Sex =  (case Sex when 'M' then '男'
    when 'F' then '女' end) 
     from Employee where Address in ('上海市','南昌市') and Sex='F'

    --(5)查询订单金额高于8000的所有客户编号
    select CustomerNo from OrderMaster where Ordersum > 8000


    --(6)选取编号界于C0001~C0004的客户编号,客户名称,客户地址
    select CustomerNo,CustomerName,Address from Customer where CustomerNo >= 'C0001' and CustomerNo <= 'C0004'


    --(7)找出同一天进入公司服务的员工(注意一下)
    select a.EmployeeNo,a.EmployeeName,a.Hiredate,b.EmployeeNo,b.EmployeeName,a.Hiredate
    from Employee a,Employee b where CONVERT(date,a.hiredate)=CONVERT(date,b.hiredate)
    and a.EmployeeNo>b.EmployeeNo


    --(8)在订单主表中查询订单金额大于“E2005002”业务员在2008-1-9这天所接的任一张订单的金额”的所有订单信息。
    select * from OrderMaster where Ordersum >(select min(Ordersum) from OrderMaster where SaleNo='E2005002' and year(Orderdate) = '2008' and month(Orderdate) ='1' and day(Orderdate) ='9')


    --(9)查询既订购了“52倍速光驱”商品,又订购了“17寸显示器”商品的客户编号、订单编号和订单金额。  商品信息表,订单主表,订单明细表

    select CustomerNo,b.OrderNo,Ordersum from Product a,OrderMaster b,OrderDetail c where a.ProductNo=c.ProductNo and b.OrderNo = c.OrderNo and ProductName = '52倍速光驱' and
    b.OrderNo in(
    select b.OrderNo from Product a,OrderMaster b,OrderDetail c where a.ProductNo=c.ProductNo and b.OrderNo = c.OrderNo and ProductName = '17寸显示器'
    )


    --(10)查找与“陈诗杰”在同一个单位工作的员工姓名、性别、部门和职务。
    select EmployeeName,Sex,Department,Headship from Employee
     where Department in (select Department from Employee where EmployeeName ='陈诗杰')


    --(11)查询单价高于400元的商品编号、商品名称、订货数量和订货单价。    订货单价 是price 还是 ProductPrice
    select a.ProductNo,ProductName,Qty,Price  from Product a,OrderDetail b
     where ProductPrice > 400 and a.ProductNo = b.ProductNo 


    --(12)分别使用左外连接、右外连接、完整外部连接查询单价高于400元的商品编号、商品名称、订货数量和订货单价,并分析比较检索的结果。

    select a.ProductNo,ProductName,qty,price from Product a left outer join 
    OrderDetail b on(a.ProductNo=b.ProductNo) and ProductPrice > 400


    select a.ProductNo,ProductName,qty,price from Product a right outer join 
    OrderDetail b on(a.ProductNo=b.ProductNo) and ProductPrice > 400


    select a.ProductNo,ProductName,qty,price from Product a full join 
    OrderDetail b on(a.ProductNo=b.ProductNo) and ProductPrice > 400




    --(13)查找每个员工的销售记录,要求显示销售员的编号、姓名、性别、商品名称、数量、单价、金额和销售日期,
    --其中性别使用“男”和“女”表示,日期使用yyyy-mm-dd格式显示。
    select SaleNo,EmployeeName,Sex=case sex when 'M' then '男' when 'F' then '女' end ,ProductName,Qty,
    ProductPrice,Ordersum,Orderdate=convert(date,Orderdate) from Employee a,OrderMaster b,OrderDetail c,Product d  
    where a.EmployeeNo=b.SaleNo and b.OrderNo=c.OrderNo and c.ProductNo=d.ProductNo


    --(14)查找在2008年3月中有销售记录的客户编号、名称和订单总额。
    select a.customerno,CustomerName,Ordersum 
    from OrderMaster a,Customer b where a.CustomerNo=b.CustomerNo and year(Orderdate)='2008' and month(Orderdate)='3'


    --(15)使用左外连接查找每个客户的客户编号、名称、订单日期、订货金额,其中订货日期不要显示时间,
    --日期格式为yyyy-mm-dd,按客户编号排序,同一客户再按订单金额降序排序输出。
    select a.CustomerNo,CustomerName,Orderdate=CONVERT(date,Orderdate),Ordersum from Customer a left outer join OrderMaster b on(a.CustomerNo=b.CustomerNo)
    order by a.CustomerNo asc,Ordersum desc


    select a.CustomerNo from Customer a left outer join OrderMaster b on (a.CustomerNo=b.CustomerNo) order by a.CustomerNo,Ordersum desc
    --(16)查找16M DRAM的销售情况,要求显示相应的销售员的姓名,性别,销售日期、销售数量和金额,其中性别用“男”,“女”表示。
    select EmployeeName,Sex=(case sex when 'M' then '男' when 'F' then '女' end),Orderdate,Qty,Ordersum
     from Product a,OrderMaster b,OrderDetail c,Employee d 
    where ProductName='16M DRAM' and a.ProductNo = c.ProductNo and b.OrderNo = c.OrderNo and b.SaleNo = d.EmployeeNo


    --(17)查找公司男业务员所接且订单金额超过2000元的订单号及订单金额。注:员工表和订单主表 注意性别数据是用  M 和 F表示
    select OrderNo,Ordersum from Employee a,OrderMaster b where a.EmployeeNo = b.SaleNo and Sex ='M' and Ordersum > 2000


    --(18)查找来自上海市的客户的姓名,电话,订单号及订单金额。   注:客户表与订单主表
    select CustomerName,Telephone,OrderNo,Ordersum  from Customer a,OrderMaster b where a.CustomerNo = b.CustomerNo and Address = '上海市'


    展开全文
  • 最近写一个查询列表的功能,写sql的时候开始犯迷糊,已经知道的表表的关系,但是还是花了很长时间查询出想要的数据,现在给大家分享一个简单sql,很实用,方便大家写sql语句。首先,两张表的联合查询,很简单:...

    最近写一个查询列表的功能,写sql的时候开始犯迷糊,已经知道的表与表的关系,但是还是花了很长时间查询出想要的数据,现在给大家分享一个简单的sql,很实用,方便大家写sql语句。

    首先,两张表的联合查询,很简单:    

    SELECT t.*,
    s.BXDH,s.BM,s.BXR,s.BXSJ,s.BXXM,s.BXXQ,s.FJ,s.LXFS,s.SSFL,s.XQMC,s.SZQY,s.XXDZ,s.ZT,s.WXG,s.BJ
    FROM tydb_wdbj t,sbbx_wsbx s WHERE t.ywlx2='wsbxlc' AND t.SRCUNID=s.UNID ;

    接下来重点来了,需要展示第三张表中一个字段的数据,当然第三张表和这两张表都有联系,这个时候,只需加一个要展示的字段就行:

    SELECT t.*,
    s.BXDH,s.BM,s.BXR,s.BXSJ,s.BXXM,s.BXXQ,s.FJ,s.LXFS,s.SSFL,s.XQMC,s.SZQY,s.XXDZ,s.ZT,s.WXG,s.BJ,
    (SELECT  k.`CREATORNAME`   FROM opinion_info  k  WHERE k.`FIELDNAME`='SBBX_WSBX.wxkys' AND k.`DATAUNID`= s.`UNID`) wxkys
    FROM tydb_wdbj t,sbbx_wsbx s WHERE t.ywlx2='wsbxlc' AND t.SRCUNID=s.UNID ;
    这两条数据的区别,只是多加了一列,就可以将两张表的查询变成三张表的联合查询;
    展开全文
  • SQL查询最大值,返回整行数据

    万次阅读 多人点赞 2019-06-21 20:05:09
    SQL查询最大值,返回整行数据 1、问题 部分数据如下,未完整展示。如何从 table_a 表中查询 p_postions 列的最大值对应的一行数据? 在这里插入图片描述 2、解答 方法1:先排序,再取第一条 SELECT * FROM table_a ...

    SQL查询最大值,返回整行数据

    1、问题

    部分数据如下,未完整展示。如何从 table_a 表中查询 p_postions 列的最大值对应的一行数据?
    在这里插入图片描述

    2、解答

    方法1:先排序,再取第一条

    SELECT * FROM table_a order by p_postions desc limit 1;
    

    查询结果如下:
    在这里插入图片描述
    经过评论区小伙伴的提醒,这种先排序的方式虽然语法简单,但时间复杂度较高,是 O(n*logn)。所以我们来看第二种方法。

    方法2:先查最大值,再找到对应行(推荐)

    参考:https://stackoverflow.com/questions/8387587/selecting-a-record-with-max-value

    这是一种时间复杂度为 O(n) 的方法:

    SELECT 
        *
    FROM
        table_a
    WHERE
        p_postions = (SELECT MAX(p_postions) FROM table_a)
    LIMIT 1;
    
    展开全文
  • sql语句实现简单查询以及索引查询

    万次阅读 2017-10-30 21:03:30
     简单查询:是根据SQL语句中的条件进行查询,采用的手法是遍历查询,选出符合条件的记录;  索引查询如同书的目录一样,可以直接定位查询的位置,加快查询的速度;  二、SQL语句实现  简单查询:  select ...

        一、明确简单查询以及索引查询的区别

           简单查询:是根据SQL语句中的条件进行查询,采用的手法是遍历查询,选出符合条件的记录;

           索引查询如同书的目录一样,可以直接定位查询的位置,加快查询的速度;

       二、SQL语句实现  

          简单查询:

          select *

          from table;

          索引查询:

          select * 

          from table

         indexed by index_name

         where   ;

           



    展开全文
  • SQL查询单表数据(一)

    千次阅读 2020-02-17 21:21:48
    SQL 中,字符 “*” 具有特殊的含义,使用用它,将从指定的表中返回每一列,在这里由于没有使用 where 子句,所以将会返回每一行,即是 查询表中所有的行列,就是所有的数据 。 还有一种写法就是分别列出每一列...
  •     使用SSMS界面方式进行数据的添加修改删除操作比较简单,因此只在此进行介绍,内容分主要使用SQL方式讲解。     展开“数据库”,打开相应的数据库,然后再展开“表”,,右击需要操作的数据表,选择...
  • SQL Server的简单查询命令

    千次阅读 2018-11-04 00:48:58
    SQL Server的简单查询命令一、实验目的二、实验内容三、实验环境四、实验步骤及结果 一、实验目的 通过本次实验使学生初步掌握数据库中表的单表,多表查询操作。 二、实验内容 简单无条件查询 有条件查询 分组...
  • HBase 简单SQL查询

    万次阅读 2013-12-12 14:43:50
    为了兼容以前从关系型数据库中查询数据的接口, 让hbase可以通过sql语句来查询其中的数据. hive有这样的功能, 他支持通过类似sql语句的语法来操作hbase中的数据, 但是速度太慢了, 因为hive本身就不是用来查询数据的...
  • C#连接SQL数据库和查询数据功能 超详细(新手)

    万次阅读 多人点赞 2021-05-15 16:44:11
    所以需要用到我们的数据库来保存这些数据,直接更改数据 SQL: 下载地址:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 1.现在后打开选择登录:Windows身份验证 2.创建登录的账号和密码(右键...
  • 话说天下大势,分久必合,合久必分。 ——罗贯中大大前言SQL,全称Structured Query Language,是当今使用最广泛的数据查询语言。最初的设计仅仅是适用...
  • A表需要根据B表进行更新。 要求: B表的每一条数据的idcard如果A表也有的话,则修改A表中的数据为B表数据,如果A表没有的话,则向A表插入该条数据。A表有,B表没有的数据则不改变。 A表、B表原始数据: 创建...
  • SQL语句之查询数据(MySQL)

    万次阅读 多人点赞 2018-04-19 16:41:37
    查询数据在数据库的操作中相当的重要,下面简单的介绍一下比较基础的SQL查询语句。 以下列的表为例进行操作: CREATE TABLE student( id INT, NAME VARCHAR(20), chinese FLOAT, english FLOAT, math FLOAT ...
  • sql server查询数据表的内容

    万次阅读 2019-03-26 22:19:09
    数据库管理工具可以很直观查询到数据库储存的数据,如phpMyAdmin只可以直接打开MySQL数据库的表,直接查看其中的内容。但是Mssql数据即使用SQL Server数据库管理工具也很难直观地看到表中保存的数据,需要输入...
  • C# + SQL 更新数据数据

    千次阅读 2012-12-31 20:31:24
    对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update)。这篇文章将接着阐述更新数据。 AD: 对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update)。为什么这样来分...
  • 想做一个简单的运维工具,在jsp页面上输入查询数据,直接查询数据库,把结果展示在页面上,最好能做成显示中文列名的那种,有没有这种方案或者建议
  • SQL查询优化——数据结构设计

    万次阅读 2014-10-06 16:51:31
    数据库设计及使用是WEB开发程序员必备的一项基础技能,在大数据量和高并发场景,合理的数据结构及SQL查询优化对项目来说都会显得格外重要。大部分有经验的程序员都能了解到,程序的瓶颈往往不在程序本身,而在数据...
  • ORACLE分页查询SQL语句(最有效的分页)

    万次阅读 多人点赞 2018-11-01 16:18:24
    ** 一、效率高的写法 ** 1.无ORDER BY排序的写法。...即使查询数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM emp t WHERE hire_date BETWEEN TO_DATE ...
  • 当tb_UserRole表中有数据插入时,级联更新tb_UserLogin表中的RoleID字段值为添加记录中RoleID的值。 案例二: 有这样一种情况,有两张表 t1 和t2,后来由于变更,t2表中需要增加一个字段,这个...
  • 转移sqlServer数据库数据到mongodb的简单实现- 准备: 1. 数据库SqlServer2008,mongodb;eclipse-3.6.5 2. 首先安装sqlServer客户端【SQLFULL_CHS.iso】 和 Mongdb客户端【robomongo-0.9.0-windows-x86_64-...
  • SQL查询JSON格式的数据

    千次阅读 2018-11-09 15:12:25
    上面的tab1是行程和出差补助这两大列的数据 tab2是票据的数据 返回的 这两个格式是json格式的数组字符串 ,然后json格式字符串转对象就很简单啦 //将表格json数据转成集合 JSONArray jsonarray1 = JSONArray...
  • SQL 数据初级查询—实验报告

    千次阅读 2016-12-20 11:00:37
     熟练掌握表中数据的各种查询功能,为后继学习作准备。 二、实验属性  1、了解并掌握SQL管理控制器的使用;  2、掌握基本表的数据查询。 三、实验仪器设备及器材  1、每人一台计算机。  2、...
  • SQL分页查询

    万次阅读 2020-03-08 13:20:12
    SQL分页查询: 背景 ​ 在公司的系统中有一个平台是 做配置管理的 就是所谓的 CRUD 的平台,但是点击后进去到页面第一次看到的是一次查询的页面 (点击页面自动的触发查询的功能) 后面就可以你的CRUD的操作是给运营...
  • 使用PL/SQL导出、导入表在使用PL/SQL操作oracle数据库时,经常使用的一个操作就是将自己写的数据表导出,或者想把他人的数据表导入到自己的数据库中。虽然是很简单的操作,但自己之前一直出错,所以在这里记录一下...
  • 今天在使用SQL语句做查询任务的时候发现,在数据库中可以直接执行的语句,放在程序中结果却是None,于是乎,就实践了...功能:执行给定的查询SQL语句,并返回查询结果数据 ''' import sys import pymssql reloa...
  • SQL语言_2 DQL 数据查询基础

    万次阅读 2020-04-13 17:24:00
    SQL语言_2 DQL 数据查询基础 作者:田超凡 版权所有,转载请注明原作者,仿冒侵权必究...
  • 本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两列数据的方法、子查询的应用、decode函数的用法。希望文章对你有所帮助~ 1.创建数据库表及插入数据 2.子查询统计不同性质的学生总数 3...
  • SQL数据更新操作(增、删、改)

    千次阅读 2020-04-08 17:46:05
    SQL简单查询语句 SQL语句练习题 数据更新 增(数据的增加) 语法: INSERT INTO 表名称 [(字段1,字段2,字段3,...)] VALUES(值1,值2,值3,...) 注意: 如果需要进行增加数据的话,则以下的几种数据类型要...
  • SQL 查询指定行数的数据

    万次阅读 2019-06-15 18:30:13
    今天遇到一个关于“查询指定行数的数据”的sql查询语句问题,突然发现以前没怎么接触过,刚才想起来了,赶紧看了下文档,又上网搜了下,有了下面的东西,不知道有没有什么地方不对?oracle:先看一下文档中关于any和...
  • T-SQL更新删除数据

    千次阅读 2010-08-03 01:27:00
    一、使用T-SQL更新数据数据更新是经常的事,使用T-SQL可以进行数据更新语法如下:Update Set [Where 更新条件] 注意:Set 后面可以紧跟多个数据列的更新值,不限一个,多个数据列之间以逗号(,)分隔开Where子句是可选...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 857,110
精华内容 342,844
关键字:

数据更新与sql简单查询