0
点赞
收藏
分享

微信扫一扫

查看电脑是使用集成显卡还是独立显卡

椰果玩安卓 2024-11-06 阅读 4

文理学院数据库应用技术实验报告4

实验名称数据简单查询实验日期2024年10月25日
课程名称数据库技术应用实验项目数据的简单查询

一、实验目的

  1. select语句(选择指定列、选择所有列、取别名)
  2. where条件的select语句(算术运算符、逻辑运算符、比较运算符、范围运算符、列表运算符、like模式匹配、null关键字)(重点)
  3. 排序显示(order by子句)
  4. 谓词限制(limit关键字、distinct关键字)

二、实验原理

  1. select语句:

(1) 选择指定列

select 列名1, 列名2, …… from 表名

(2) 选择所有列

select * from表名

(3) 取别名

方法一:

select列名1 as '新列名1', 列名2 as '新列名2', …… from表名

方法二:

select列名1 '新列名1', 列名2 '新列名2', …… from表名
  1. where条件的select语句:

(1) 算术运算符:

+(加法) -(减法) *(乘法) /(除法) %(取余数)

(2) 逻辑运算符:

or(或) and(与) !(非)

(1) 比较运算符:

=(等于)			!=(不等于)		>(大于)			>=(大于等于)

!>(不大于)		    <(小于)		<=(小于等于)		!<(不小于)

(2) 范围运算符:

betweenand…		范围在二者之间

not betweenand…	范围不在二者之间

(3) 列表运算符:

in(列表)					值在列表之内

not in(列表)				值不在列表之内

(4) Like模式匹配:

%0个或多个字符

_						单个字符

(5) null关键字

is null  				空值

is not null				不空
  1. 排序显示(order by子句)
select * from 表名 order by 排序字段 asc/desc
  1. 谓词限制记录

(1) limit关键字:

select * from 表名limit0数的开始行数, 总共取多少行

(2) distinct关键字:

select distinct * from 表名

三、实验设备、材料

安装了MySQL和navicat的主机

四、 实验步骤

请完成以下表数据查询练习:

1.找到“stumanagement”(学生成绩管理)数据库:
  1. 查询学生信息表中每个学生的姓名、专业和总学分。

    select 姓名,专业,总学分 FROM 学生信息 ;
    
  2. 查询学生信息表中’软件技术’专业学生的姓名、专业和总学分。

    SELECT 姓名, 专业, 总学分 FROM 学生信息 WHERE 专业 = '软件技术';
    
  3. 查询学生信息表中 ‘网络技术’ 专业学生的学号、姓名和总学分,结果中各列的标题分别指定为“StuID、StuName和StuScore”。

    SELECT 姓名 as StuID , 专业 as StuName, 总学分 as StuScore FROM 学生信息 WHERE 专业 = '软件技术';
    
  4. 对学生信息表只查询专业,消除重复的数据行。

    SELECT DISTINCT `专业` FROM 学生信息 ;
    
  5. 查询学生信息表中姓“王”且单名的学生情况。

    SELECT * FROM 学生信息 WHERE 姓名 LIKE  '王_';
    
  6. 查询学生信息表中在1997年出生的学生情况(使用三种方法)。

    SELECT * FROM 学生信息 WHERE YEAR(生日) = 1997;#方法1
    SELECT * FROM 学生信息 WHERE YEAR(NOW())-YEAR(生日)=27;#方法2
    SELECT * FROM 学生信息 WHERE 生日>='1997-1--1' AND 生日<='1997-12-312';#方法3
    
  7. 查询课程信息表中第3学期所开,且学时大于60的课程信息。

    SELECT * FROM 课程信息 WHERE 学期=3 and 学时>=60;
    
  8. 查询课程信息表中课程名为5个字的课程信息。

    SELECT * FROM 课程信息 WHERE CHAR_LENGTH(课程名) = 5;
    
  9. 查询学生信息表中所有姓“张”,并且不在1998年出生的学生信息。

    SELECT * FROM 学生信息 WHERE 姓名 LIKE '张%' AND YEAR(生日) != 1998;
    
  10. 查询学生信息表中各学生的学号、姓名和性别,对其性别按照以下规则进行替换:若性别为1,替换为“男”;若性别为0,替换为“女”。

    SELECT 学号, 姓名, 
           CASE 性别
               WHEN 1 THEN '男'
               WHEN 0 THEN '女'  
               ELSE '未知'
           END AS 性别
    FROM 学生信息;
    
2.找到“northwind”(贸易公司)数据库:
  1. 查询订单表中订购日期在2014年初到2015年底之间订购的信息。

    SELECT * FROM 订单 WHERE 订购日期 BETWEEN '2014-01-01' AND '2015-12-31';
    
  2. 查询员工表中是天津或昆明的人员。

    SELECT * FROM 员工 WHERE 城市 = '天津' OR 城市 = '昆明';
    
  3. 查询订单明细表中订单ID不以3,5,6,7开头的订单信息。

    SELECT * FROM 订单明细
    WHERE 订单ID NOT LIKE '3%' AND 订单ID NOT LIKE '5%'
     AND 订单ID NOT LIKE '6%' AND 订单ID NOT LIKE '7%';
    
  4. 查询产品表中和“茶”有关的产品信息。

    SELECT * FROM 产品 WHERE 产品名称 LIKE '%茶%';#方式1
    SELECT * FROM 产品 WHERE 产品名称 REGEXP '茶';#方式2
    
  5. 查询产品表中总价(单价*库存量)最贵的5种产品,显示名称和总价值。

    SELECT 产品名称, (单价 * 库存量) AS 总价值 FROM 产品
    ORDER BY 总价值 DESC LIMIT 5;
    
举报

相关推荐

0 条评论