mysql平方号 查询_02.MySQL的简单查询

目录:

1.基本查询语句

2.如何指定查询条件

3.如何注释sql语句

4.运算符

5.字符串模糊查询

一、如何查询指定的表

使用 select 语句 ,其中 * 代表查询整个表

SELECT *

FROM student;

也可以查询单独列名称,如:

SELECT 学号,姓名

FROM student;

若需要在学号列去重,则 加distinct

SELECT distinct 学号,姓名

FROM student;

二、理解sql运行书写顺序

sql的运行顺序与书写顺序的区别

/*

该注释为标识书写顺序

/

SELECT distinct 学号,姓名 -- 第三步:选择那个列

FROM student -- 第一步:选择那个表

where 姓名="侯赛因";-- 第二步:查询出符合条件的行

三、理解算术运算符和比较运算符

01.算术运算符用于数据计算

比如,你想按百分比方式计算用户成绩 ,则:

SELECT 学号,成绩,

成绩/100 as '百分比成绩'

FROM course;

02.比较运算符

需要where语句,比较常用

如做表的筛选,例如“你要选出班里谁的成绩在优秀以上”则:

SELECT 学号,成绩

FROM course

WHERE 成绩 > 85 ;

再或者,例如“你要选出班里是90后”则:

SELECT 学号,姓名,出生日期

FROM student

WHERE 出生日期 >='1990-01-01';

03.逻辑运算符

not -- 否定某一个条件 (否定)

and -- 并且(交集)

between -- 范围查询

or -- 或者(并集)

in -- or的简单写法

以and语句为例,我们刚刚查询了,班里谁是90后,现在我们通过and继续查,90后谁是男生,则:

SELECT 学号,姓名,出生日期,性别

FROM student

WHERE 出生日期 >='1990-01-01'

AND 性别 = '男' ;

再比如,你想查找具体某个人,则:

SELECT 学号,姓名,出生日期,性别

FROM student

WHERE 姓名 in ('侯赛因','马老板');

四、模糊查询

如果你们班级里人太多了,你不记得对方叫什么,你可以用like 语句

比如:

姓% -- 可以查处以姓氏为关键词查找

%名字 -- 可以查处以名字为关键词查找

%名% -- 查中间带 “名”的关键词查询

例如,你忘了你们班,叫 马某某 怎么称号了,于是可以

SELECT 学号,姓名,出生日期,性别

FROM student

WHERE 姓名 LIKE '马%'

AND 性别 = '男' ;

五、sqlzoo 练习 SELECT basics

WORLD表格

name:國家名稱

continent:洲份

area:面積

population:人口

gdp:國內生產總值

1.這個例子顯示’France法國’的人口。字串應該在'單引號'中。

/*

修改此例子,以顯示德國 Germany 的人口。

考察 name = x

*/

select population

from world

where name = 'Germany';

2.查詢顯示面積為 5,000,000 以上平方公里的國家,該國家的人口密度

/*

修改此例子,查詢面積為 5,000,000 以上平方公里的國家,對每個國家顯示她的名字和人均國內生產總值(gdp/population)。

考察 area > x

*/

select name, gdp/population as 'gdp/population'

from world

where area>5000000;

3.檢查列表:單詞“IN”可以讓我們檢查一個項目是否在列表中。

/*

顯示“Ireland 愛爾蘭”,“Iceland 冰島”,“Denmark 丹麥”的國家名稱和人口。

考察where name in

*/

select name, population

from world

where name in ('Ireland' , 'Iceland' , 'Denmark');

4.哪些國家是不是太小,又不是太大?

/*

以顯示面積為 200,000 及 250,000 之間的國家名稱和該國面積。

考察 between xxx and xxx

*/

select name , area

from world

where area between 200000 and 250000;

六、sqlzoo 练习 SELECT from WORLD Tutorial

1.觀察運行一個簡單的SQL命令的結果。

/*

考察select语句

*/

SELECT name, continent, population FROM world

2.考察如何使用where 语句

/*

顯示具有至少2億人口的國家名稱。 2億是200000000,有八個零。

*/

select name

from world

where population>200000000;

3.找出有至少200百萬(2億)人口的國家名稱,及人均國內生產總值。

select name , gdp/population as'人均生产总值'

from world

where population>200000000;

4.顯示'South America'南美洲大陸的國家名字和以百萬為單位人口數。 將人口population 除以一百萬(1000000)得可得到以百萬為單位人口數。

select name , population/1000000 as'百萬為單位人口數'

from world

where continent = 'South America';

5.顯示法國,德國,意大利(France, Germany, Italy)的國家名稱和人口。

select name , population

from world

where name in ( 'France' , 'Germany' , 'Italy' );

6.顯示包含單詞“United”為名稱的國家。

/*

考察模糊查询

*/

select name

from world

where name like '%United%';

7.成為大國的兩種方式:如果它有3百萬平方公里以上的面積,或擁有250百萬(2.5億)以上人口。

/*

展示大國的名稱,人口和面積。

*/

select name , population , area

from world

where area>3000000 or population>250000000;

8.美國、印度和中國(USA, India, China)是人口又大,同時面積又大的國家。排除這些國家。

考察组合式逻辑运算

/*

顯示以人口或面積為大國的國家,但不能同時兩者。顯示國家名稱,人口和面積。

*/

select name , population , area

from world

where (area>3000000 and population<=250000000)or(area<=3000000 and population>250000000);

9.除以為1000000(6個零)是以百萬計。除以1000000000(9個零)是以十億計。使用 ROUND 函數來顯示的數值到小數點後兩位。

對於南美顯示以百萬計人口,以十億計2位小數GDP。

【知识点】round函数

select name , round(population/1000000,2) as '百萬計人口' ,round(gdp/1000000000,2) as'gdp'

from world

where continent = 'South America';

10.顯示國家有至少一個萬億元國內生產總值(萬億,也就是12個零)的人均國內生產總值。四捨五入這個值到最接近1000。

顯示萬億元國家的人均國內生產總值,四捨五入到最近的$ 1000。

select name , round(gdp/population,-3) as '人均生产总值'

from world

where gdp>1000000000000 ;

七.模糊查询

1.找出以 Y 為開首的國家。

SELECT name FROM world

WHERE name LIKE 'Y%';

2.找出以 Y 為結尾的國家。

SELECT name FROM world

WHERE name LIKE '%Y';

3.“Luxembourg 盧森堡”中有一個x字母,還有一個國家的名字中有x。列出這兩個國家。

找出所有國家,其名字包括字母x。

SELECT name FROM world

WHERE name LIKE '%x%';

4.“Iceland 冰島”和“Switzerland 瑞士”的名字都是以”land”作結束的。還有其他嗎?

找出所有國家,其名字以 land 作結尾。

SELECT name FROM world

WHERE name LIKE '%land';

5.“Columbia 哥倫比亞”是以 C 作開始,ia 作結尾的。還有兩個國家相同。

找出所有國家,其名字以 C 作開始,ia 作結尾。

SELECT name FROM world

WHERE name LIKE 'C%ia';

6.“Greece 希臘”中有雙 e 字。哪個國家有雙 o 字呢?

找出所有國家,其名字包括字母oo。

SELECT name FROM world

WHERE name LIKE '%oo%';

7.“Bahamas 巴哈馬”中有三個 a,還有嗎?

找出所有國家,其名字包括三個或以上的a。

SELECT name FROM world

WHERE name LIKE '%a%a%a%';

8.“India 印度”和”Angola 安哥拉”的第二個字母都是 n。

你可以用底線符_當作單一個字母的萬用字元。

SELECT name FROM world

WHERE name LIKE '_n%'

ORDER BY name;

9.“Lesotho 賴索托”和”Moldova 摩爾多瓦”都有兩個字母 o,被另外兩個字母相隔着。

找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。

SELECT name FROM world

WHERE name LIKE '%o__o%';

10.“Cuba古巴”和”Togo 多哥”都是 4 個字母。

找出所有國家,其名字都是 4 個字母的。

SELECT name FROM world

WHERE name LIKE '____';

11.“Luxembourg 盧森堡”的首都 capital 都同樣叫“Luxembourg”。

顯示所有國家名字,其首都和國家名字是相同的。

SELECT name FROM world

WHERE name =capital;

12.“Mexico 墨西哥”的首都是”Mexico City”。

顯示所有國家名字,其首都是國家名字加上”City”。

SELECT name FROM world

WHERE capital like '%City';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值