数据库操作练习11
来源:互联网 发布:mac win触摸板难用 编辑:程序博客网 时间:2024/05/21 12:53
1. 使用含有关键字exists查找未分配具体部门的员工的所有信息。
题目描述
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
输出格式:
EXISTS语句不关心子查询的具体内容,因此用“SELECT *”,“Exists + 子查询”用来判断该子查询是否返回记录。
Exists:若子查询的结果集非空时,返回“True”;若子查询的结果集为空时,返回“False” 。
NOT EXISTS :若子查询结果为空,返回“TRUE”值;若子查询的结果集非空时,返回 “FALSE。
查询没有选C1课程的学生的学号、姓名
SELECT 姓名
FROM 学生表
WHERE NOT EXISTS
(
SELECT *
FROM 选课表
WHERE 学生表.学号 = 选课表.学号 AND 课程号 = 'C1'
);
本题中:
用 EXISTS 关键字的方法如下:意为在 employees 中挑选出令(SELECT emp_no FROM dept_emp WHERE emp_no = employees.emp_no)不成立的记录,即当 employees.emp_no=10011时。反之,把NOT去掉,则输出 employees.emp_no=10001~10010时的记录。
select * from employees em where not exists (select emp_no from dept_emp where emp_no=em.emp_no)
2. 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表
题目描述
创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。 actor_name表结构如下:
2.用inset into actor select插入子查询的结果集(不需要用values(),()这种形式。这种形式是手工插入单条数据或多条数据时用圆括号分割。插入结果集是不需要)
create table actor_name(first_name varchar(45) not null, last_name varchar(45) not null);insert into actor_name select first_name,last_name from actor
3. 批量插入数据
题目描述
CREATE TABLE IF NOT EXISTS actor (
actor_id smallint(5) NOT NULL PRIMARY KEY,
first_name varchar(45) NOT NULL,
last_name varchar(45) NOT NULL,
last_update timestamp NOT NULL DEFAULT (datetime('now','localtime')))
insert into actor (actor_id,first_name,last_name,last_update) values (1,'PENELOPE','GUINESS','2006-02-15 12:34:33'),(2,'NICK' ,'WAHLBERG','2006-02-15 12:34:33')下面这个参考牛客网网友:
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
SQL UNION ALL 语法
SELECT column_name(s) FROM table_name1UNION ALLSELECT column_name(s) FROM table_name2
另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
INSERT INTO actorSELECT 1, 'PENELOPE', 'GUINESS', '2006-02-15 12:34:33'UNION SELECT 2, 'NICK', 'WAHLBERG', '2006-02-15 12:34:33'
- 数据库操作练习11
- Orcale数据库操作练习
- JavaDB数据库操作练习
- 数据库操作练习1
- 数据库操作练习2
- 数据库操作练习3
- 数据库操作练习4
- 数据库操作练习5
- 数据库操作练习6
- 数据库操作练习7
- 数据库操作练习8
- 数据库操作练习9
- 数据库操作练习10
- 数据库操作练习12
- 数据库操作练习13
- Android简单数据库操作练习
- MySql数据库基本操作练习
- python操作mysql数据库练习
- 近期三日的网络爬虫和API的小结
- Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface
- listview适配器 优化
- WOJ1137-Flowers
- HDU3466 Proud Merchants 排序01背包
- 数据库操作练习11
- 自定义博客园Markdown样式.超简单!
- CodeForces 379 A.New Year Candles(水~)
- 神经网络(根据斯坦福大学网上机器学习公开课)
- 【bzoj3997】[TJOI2015]组合数学
- 解决方法:dede数据库更新附加表 `dede_addonarticle`` 时出错
- SSL P2711 正方形
- HIT集训第一天
- IntelliJ Idea 2017 免费激活方法