select下拉框带模糊查询_02.MySQL的简单查询

目录:

1.基本查询语句

2.如何指定查询条件

3.如何注释sql语句

4.运算符

5.字符串模糊查询

一、如何查询指定的表

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

SELECT *
FROM student;

6f726f28e94f4ef65b0d02ae37eba1a3.png

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

SELECT 学号,姓名
FROM student;

71abcf0d516cc8014d004ef6f397f718.png

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

SELECT distinct 学号,姓名
FROM student;

二、理解sql运行书写顺序

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

/*
该注释为标识书写顺序
/
SELECT distinct 学号,姓名 -- 第三步:选择那个列
FROM student -- 第一步:选择那个表
where 姓名="侯赛因";-- 第二步:查询出符合条件的行

18ce997fb23ad26eda93c927e5440e05.png

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

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

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

SELECT 学号,成绩,
成绩/100 as '百分比成绩'
FROM course;

40153f9fa6dd3041227944bf7f6c88b9.png

02.比较运算符

需要where语句,比较常用

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

SELECT 学号,成绩
FROM course
WHERE 成绩 > 85 ;

fc75d7e09a04547768db4e1551de0fc2.png

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

SELECT 学号,姓名,出生日期
FROM student
WHERE 出生日期 >='1990-01-01';

3c8e7786b300bac81424e959fee296a4.png

03.逻辑运算符

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

and -- 并且(交集)

between -- 范围查询

or -- 或者(并集)

in -- or的简单写法

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

SELECT 学号,姓名,出生日期,性别
FROM student
WHERE 出生日期 >='1990-01-01'
AND 性别 = '男' ;

0e0c103336e454f4c840d90fb801d5f2.png

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

SELECT 学号,姓名,出生日期,性别
FROM student
WHERE 姓名  in ('侯赛因','马老板');

24c2e1a42041a97830447d3dedc21dc7.png

四、模糊查询

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

比如:

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

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

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

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

SELECT 学号,姓名,出生日期,性别
FROM student
WHERE 姓名 LIKE '马%'
AND 性别 = '男' ;

4912779c5d91250ed5729cbd2817911f.png

五、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';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值