可信网站认证 服务中心陕西防疫最新政策
可信网站认证 服务中心,陕西防疫最新政策,wordpress安装创建数据库,博罗惠州网站建设一、实验目的 通过该实验掌握较复杂的SQL 查询数据库方法#xff0c;包括嵌套查询#xff0c;相关与不相关子查询#xff0c;连接的多种方法等。 二、实验原理 数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询。 SELECT[ALL|DISTINCT]目标列表达…一、实验目的 通过该实验掌握较复杂的SQL 查询数据库方法包括嵌套查询相关与不相关子查询连接的多种方法等。 二、实验原理 数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询。 SELECT[ALL|DISTINCT]目标列表达式〉[目标列表达式〉]... FROM表名或视图名〉[表名或视图名〉]... [WHERE条件表达式] [GROUP BY列名1〉[HAVING条件表达式]] [ORDERBY列名2〉[ASC|DESC]] 三、实验条件 windows7 操作系统, mysql5.6 数据库服务器可视化管理平台Mysql Workbench5.2 。 四、实验内容和方法 (一 建立实验数据库 根据上一次实验用脚本TradeDBSQL.txt创建数据库Trade. 二 安装及使用Mysql Workbench 如果没有安装Mysql Workbench 可按以前的实验方法在命令窗口进行 MySQL Workbench 综合了SQL 开发服务器管理及数据库设计等功能的综合性可视化平台。MySQL Workbench为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。 将老师提供的压缩包免安装版放置在e:根目录下解压缩 - 双击MySQLWorkbench.exe - 将出现一个界面。 界面包括三个部分 1. SQL Development (用于连接现有的数据库运行SQL脚本管理数据库对象等
2. Data Modeling (用于数据库的建模设计将来涉及
3. Server Administration (管理数据库服务器导入导出数据库及用户安全性等 本次实验采用第一部分SQL Development 1.建立与数据库服务器的连接连接名con1 1) 点击 ‘New Connection 按钮跳出配置窗口 2) 在Connection Name 命名 连接名例如con1,其他都按默认的方式password部分点击Store in Vault..在跳出的窗口中的password输入密码无就按回车。 3) 在Default Schema:中可以保持空或者直接输入缺省数据库名例如Trade 4) 按 Test Connection 测试是否连接成功。如果成功按ok按钮。 2. 进入数据库服务器 在连接名con1上按鼠标右键有两个重要选项 1.Query Database (连接数据库2.Start Command Line Client (进入命令行窗口与以前的实验一样。 1点击Query Database进入可视化窗口显示已有的数据库清单。 2在右边的Query的窗口可以输入sql 语句运行查询结果。 3输入use Trade; 按执行按钮将数据库切换到trade中。 4输入查询语句例如 select * from orders; 将在下方窗口出现查询结果可以将查询结果导出到外部文件中点击Export按钮) (三 高级查询方法 1.自连接 一张表可以拆分为多张表并且用别名表示。 例如 查找员工上级经理的姓名 (参考教科书例子 查询每一门课的间接先修课即先修课的先修课) SELECT CONCAT(y.LastName , , y.FirstName) AS 经理, CONCAT(x.LastName, , x.FirstName) AS 员工
FROM employees x, employees y where x.ReportsTo y.employeeID order by y.employeeID; 其中CONCAT为字符串函数连接字符串. 2. 交叉连接 cross join , 笛卡尔积 比较下列两个查询结果 1) select * from products cross join Categories; 2) select * from products,Categories; 3. 内连接 inner join , 等值连接 比较下列两个查询结果 select * from products inner join Categories on products.CategoryIDCategories.CategoryID; select * from products , Categories where products.CategoryIDCategories.CategoryID 4. 外连接,左、右连 查询没有下过定单的客户名称 select customers.companyname,orderID from customers left join orders on customers.customerIDorders.customerID where orderID is null; 写出等价的右连查询提示right join 5. any, all 谓词 类别2各个产品的库存量与类别1各个产品的库存量比较 select productName from Products where categoryID2 and UnitsinStock any (select unitsinStock from Products where categoryID1); 执行此查询语句说明any谓词修饰符的含义。 分别用下列谓词修饰符代替 any 并说明比较结果。 ANY 大于子查询结果中的某个值 ALL 大于子查询结果中的所有值 ANY 小于子查询结果中的某个值 ALL 小于子查询结果中的所有值 ANY 大于等于子查询结果中的某个值 ALL 大于等于子查询结果中的所有值 ANY 小于等于子查询结果中的某个值 ALL 小于等于子查询结果中的所有值 ANY 等于子查询结果中的某个值 ALL 等于子查询结果中的所有值通常没有实际意义 !或ANY 不等于子查询结果中的某个值 !或ALL 不等于子查询结果中的任何一个值 6.理解下列查询的意义,写出具体的查询要求 1 SELECT DISTINCT Customers.CustomerID, Customers.CompanyName, Customers.City
FROM Customers JOIN Orders ON Customers.CustomerID Orders.CustomerID
WHERE Orders.OrderDate BETWEEN 1997-01-01 And 1997-12-31; 查询发货日期从1997-01-01到1997-12-31的客户ID,公司名称,客户城市. 2 SELECT OrderDetails.OrderID, Sum(ROUND(OrderDetails.UnitPrice*Quantity*(1-Discount))) AS 订购额 FROM OrderDetails GROUP BY OrderDetails.OrderID limit 2\G; 根据订单ID查询该ID下的订购总额,并以订单额命名. 3 select orders.customerID,count(orderdetails.productID) from orders,orderdetails where orders.orderIDorderdetails.orderID group by orders.customerID having count(orderdetails.productID)20 order by orders.customerID;
根据客户ID查询客户ID,客户订单总量大于20的所有客户ID和该客户订单总量 4) select suppliers.CompanyName,Customers.CompanyName,suppliers.city,customers.city from suppliers,customers where suppliers.citycustomers.city;
查询运货商公司的城市客户公司城市的运货商城市名称和城市,客户公司名称和城市 7.思考题 1查找至少订购了订单ID为10251订购的全部产品的订单ID 第一种select OrderDetails.OrderID , count(distinct OrderDetails.ProductID) from Products,OrderDetails where OrderDetails.ProductIDProducts.ProductID and OrderDetails.OrderID10251 group by OrderDetails.OrderID having count(distinct OrderDetails.ProductID) (select count(distinct ProductID) from OrderDetails where OrderID10251 ); 第二种SELECT DISTINCT OrderID FROM OrderDetails OrderDetailsx WHERE NOT EXISTS (SELECT * FROM OrderDetails OrderDetailsy WHERE OrderDetailsy.OrderID 10251 AND NOT EXISTS (SELECT * FROM OrderDetails OrderDetailsz WHERE OrderDetailsz.OrderIDOrderDetailsx.OrderID AND OrderDetailsz.ProductIDOrderDetailsy.ProductID)); 提示 参考教材“查询至少选修了学生200215122选修的全部课程的学生号码。” SELECT DISTINCT Sno FROM SC SCX WHERE NOT EXISTS (SELECT * FROM SC SCY WHERE SCY.Sno 200215122 AND NOT EXISTS (SELECT * FROM SC SCZ WHERE SCZ.SnoSCX.Sno AND SCZ.CnoSCY.Cno)); 等价SQL select x.sno, count(distinct x.cno) from sc x,sc y where x.cnoy.cno and y.sno200215122 group by x.sno having count(distinct x.cno) (select count(distinct cno) from sc where sno200215122 ); 2)查找1996年8月份订购量最大的公司名称及所在的城市。
select Suppliers.CompanyName,Suppliers.City,Products.ProductID,sum(round(OrderDetails.Quantity)) from OrderDetails,Products,Suppliers, Orders where Products.ProductIDOrderDetails.ProductID and Suppliers.SupplierIDProducts.SupplierID and year(Orders.OrderDate)1996 and month(Orders.OrderDate)8 group by OrderDetails.ProductID order by sum(round(OrderDetails.Quantity)) desc; 3)查找1996年销售最好的产品名称及相关产品的供应商名称。
select Products.ProductName,Suppliers.CompanyName,sum(UnitsOnOrderReorderLevel) from Products,Suppliers,Orders,OrderDetails where Products.SupplierIDSuppliers.SupplierID and OrderDetails.ProductIDProducts.ProductID and year(Orders.OrderDate)1996 group by Products.ProductID order by sum(UnitsOnOrderReorderLevel) desc;
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92701.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!