diff --git "a/02 \346\236\227\351\221\253/20230222\346\237\245\350\257\242\345\222\214\350\277\220\347\256\227\347\254\246.md" "b/02 \346\236\227\351\221\253/20230222\346\237\245\350\257\242\345\222\214\350\277\220\347\256\227\347\254\246.md" new file mode 100644 index 0000000000000000000000000000000000000000..17f5f7bb5738962a3b88c749dd90ee764dc9e7ee --- /dev/null +++ "b/02 \346\236\227\351\221\253/20230222\346\237\245\350\257\242\345\222\214\350\277\220\347\256\227\347\254\246.md" @@ -0,0 +1,160 @@ +### 1.笔记 + +select语句 + +1.查看某些列的数据 +select 字段列表 from 【数据库名.】表名称; +select eid,ename,salary from mxdx.t_employee + +2.查看某些行的数据 +select * from 表名称 where 某些行的条件 + +3.查看某些行某些列的数据 + +select 某些列 from 表名称 where 某些行的条件 + +4.给查询结果 列 取别名 +select 字段名 [as] 别名 from 表名 + +5.给表取别名 +select * from 表名 as 别名 + +6.去重 + +select distinct 字段列表 from 表名称 [where 条件] **distinct 只能放在字段的前面** **只能第一个字段生效,所以通常只在查询一个字段的时候使用** + + + + + + + +### 2.作业 + +1. + +```sql +CREATE DATABASE text0222 charset utf8; +use text0222; +CREATE TABLE employee( + id INT, + name VARCHAR(20), + sex VARCHAR(20), + tel VARCHAR(20), + addr VARCHAR(50), + salary FLOAT +); + +INSERT INTO employee(id,`name`,sex,tel,addr,salary)VALUES +(10001,'张一一','男','13456789000','广东韶关',10010.58), +(10002,'刘小红','女','13454319000','广东江门',12010.21), +(10003,'李四','男','0751-1234567','广东佛山',10040.11), +(10004,'刘小强','男','0755-5555555','广东深圳',15010.23), +(10005,'王艳','男',NULL,'广东广州',14050.16); + +``` + +**要求1:**查询出薪资在12000~13000之间的员工信息。 + +**要求2:**查询出姓“刘”的员工的工号,姓名,家庭住址。 + +**要求3:**将“李四”的家庭住址改为“广东韶关” + +**要求4:**查询出名字中带“小”的员工 + +**要求5:**查询出薪资高于11000的男员工信息 + +**要求6:**查询没有登记电话号码的员工 + +**要求7:**查询薪资高于12000或者家是广东深圳、广州的男员工 + +**要求8:**查询每个员工的年薪,显示“姓名、年薪” + +```sql +SELECT * FROM employee; + +1.SELECT * FROM employee WHERE salary BETWEEN 12000 AND 13000; + +2.SELECT id,name,addr FROM employee WHERE name LIKE '刘%'; + +3.UPDATE employee set addr='广东韶关' WHERE name='李四'; + +4.SELECT name FROM employee WHERE name like '%小%'; + +5.SELECT * from employee WHERE salary > 11000 AND sex='男'; + +6.SELECT name FROM employee WHERE tel is null; + +7.SELECT name FROM employee WHERE sex='男' AND (salary >12000 or (addr='广州深圳' or add +r='广东广州') ); + +8.SELECT name 姓名,salary 年薪 FROM employee; + + +``` + +2. + +```sql +CREATE TABLE countries_info( + name VARCHAR(100), + continent VARCHAR(100), + area INT, + population INT, + gdp BIGINT +); + + +INSERT INTO countries_info VALUES +('Afghanistan','Asia',652230,25500100,20343000000), +('Albania','Europe',28748,2831741,12960000000), +('Algeria','Africa',2381741,37100000,188681000000), +('Andorra','Europe',468,78115,3712000000), +('Angola','Africa',1246700,20609294,100990000000); +``` + +**要求1:** 查询大国 的国家名称、人口和面积。 + +如果一个国家满足下述两个条件之一,则认为该国是 大国 : + +* 面积至少为 300万平方公里(即,3000000 km2) + +* 人口至少为 2500 万(即 25000000) + +**要求2:**查询属于亚洲的国家名称、所属大陆、面积、人口和 GDP 值 + +**要求3:**查询国土面积不足1万平方公里且人口不走10万人的国家信息 + +**要求4:**查询国家名字中包含“o“字母的国家信息 + +**要求5:**查询GDP值超过10000000000的国家信息 + +**要求6:**查询每个国家的人均贡献GDP值(GDP/人口总数)并显示为“国家名、人口、GDP值、人均贡献GDP值” + +**要求7:**查询人均贡献GDP值低于1000的国家信息。 + +**要求8:**查询每个国家的人均国土面积(面积/人口总数)并显示为“国家名、面积、人口、人均国土面积值” + +```sql +SELECT * FROM countries_info; + +1.SELECT name,area,population FROM countries_info WHERE area >=3000000 OR population >=25000000; + +2.SELECT * FROM countries_info WHERE continent ='Asia'; + +3.SELECT * from countries_info WHERE area <=10000 AND population <=100000; + +4.SELECT * FROM countries_info WHERE name like '%o%'; + + +5.SELECT * FROM countries_info WHERE gdp >10000000000; + + +6.SELECT name,population,gdp,gdp/population 人均贡献GDP值 FROM countries_info; + +7.SELECT * FROM countries_info WHERE gdp/population <1000; + +8.SELECT name,area,population,area/population 人均国土面积值 FROM countries_info; + + +```