目录

一、select的使用

二、字段(列)别名

三、去除重复数据 

四、空值参与运算

 五、着重号

七、查询常数

八、查询表的结构

 九、过滤数据,where的使用

 十、sql练习

一、select的使用

#创建学生表
CREATE TABLE student(
  id INT NOT NULL DEFAULT 1,
  `name` VARCHAR(32) NOT NULL DEFAULT'',
  chinese FLOAT NOT NULL DEFAULT 0.0,
  english FLOAT NOT NULL DEFAULT 0.0,
  math FLOAT NOT NULL DEFAULT 0.0
);
#添加数据
INSERT INTO student(id,`name`,chinese,english,math)VALUES(1,'小王',65,64,89);
INSERT INTO student(id,`name`,chinese,english,math)VALUES(2,'小李',55,66,77);
INSERT INTO student(id,`name`,chinese,english,math)VALUES(3,'小丽',86,88,78);
INSERT INTO student(id,`name`,chinese,english,math)VALUES(4,'小明',64,76,77);
INSERT INTO student(id,`name`,chinese,english,math)VALUES(5,'小红',88,99,32);
INSERT INTO student(id,`name`,chinese,english,math)VALUES(6,'小亮',58,60,20);
INSERT INTO student(id,`name`,chinese,english,math)VALUES(7,'小凡',63,23,78);
INSERT INTO student(id,`name`,chinese,english,math)VALUES(8,'小美',55,20,78);
#查询表中所有的学生的信息
SELECT*FROM student
#查询表中所有学生名字和数学成绩
SELECT `name`,math FROM student;
#过滤掉表中重复数据
SELECT DISTINCT math FROM student;
#查询记录,每个字段相同才去重
SELECT `name`,math FROM student
#统计每个学生的总分
SELECT `name`,(chinese+english+math)FROM student;
#统计每个学生的总分并加50分
SELECT `name`,(chinese+english+math+50)FROM student;
#使用别名表示
SELECT `name`AS'名字',(chinese+english+math+50)AS '总成绩'FROM student;
#查询小王的成绩
SELECT*FROM student WHERE `name`='小王';
#查询数学成绩大于70分的
SELECT*FROM student WHERE math>70;
#查询总成绩大于210分的
SELECT*FROM student WHERE (chinese+english+math)>210
#查询英语成绩大于70,id大于3的同学
SELECT*FROM student WHERE english>70 AND id>3
#查询语文成绩大于数学成绩的
SELECT*FROM student WHERE chinese>math
#查询总成绩大于200 ,语文成绩小于数学成绩的,姓小的同学
SELECT*FROM student WHERE (chinese+english+math)>200 AND chinese<math AND `name`LIKE'小%' 
#查询数学成绩60-80之间的
SELECT*FROM student WHERE math>= 60 AND math<=80
SELECT*FROM student WHERE math BETWEEN 60 AND 80
#查询语文成绩为55,63,64的
SELECT*FROM student WHERE chinese IN(55,63,64)
#查询姓小的同学
SELECT*FROM student WHERE `name` LIKE '小%'
#查询英语成绩>60,数学成绩>60
SELECT*FROM student WHERE english>60 AND math>60
# order by使用
#对英语成绩排序后输出(升序)
SELECT*FROM student ORDER BY english
#对总分按从高到低的顺序输出
SELECT `name`,(chinese+english+math)AS total_score FROM student ORDER BY total_score DESC;
#对总分按从高到低的顺序输出,姓小的同学
SELECT  `name`,(chinese+english+math) AS total_score FROM student 
WHERE `name` LIKE '小%'
ORDER BY total_score ;

语法:select 字段名 from 表名

#*表示查询数据表的所有字段
select * from employees;

java select语句怎么写 sql java select()_mysql

二、字段(列)别名

第一种:语法:select 字段名 AS 别名 from 表名;

#AS:alias(别名)
select employee_id,last_name as 英文名 from employees;

 

java select语句怎么写 sql java select()_mysql_02

 第二种:将as不写用空格代替

select employee_id,first_name 名字 from employees;

 

java select语句怎么写 sql java select()_重复数据_03

第三种: 使用 " "

SELECT employee_id,email "邮箱" FROM employees;

 

java select语句怎么写 sql java select()_表名_04

三、去除重复数据 

语法:select distinct 去重的字段名 from  表名;

select distinct department_id from `employees`;

 

java select语句怎么写 sql java select()_表名_05

四、空值参与运算

这里的null不等同与0,' ','null';

select employee_id, salary * (1 + commission_pct) * 12 年工资,commission_pct from `employees`;

 解决方案:使用ifnull函数

select employee_id, salary * (1 + ifnull(commission_pct,0)) * 12 年工资,commission_pct from `employees`;

java select语句怎么写 sql java select()_重复数据_06

 五、着重号

select * from `order`;

七、查询常数

select '成都',employee_id from `employees`;

 

java select语句怎么写 sql java select()_重复数据_07

八、查询表的结构

语法:DESCRIBE 表名;

DESCRIBE `employees`;

java select语句怎么写 sql java select()_mysql_08

 九、过滤数据,where的使用

语法:select * from 表名 where 需要过滤的条件;

select * from `employees` where employee_id = 100;

java select语句怎么写 sql java select()_表名_09

 十、sql练习

#查询员工十二个月的工资总和并取别名
SELECT employee_id,salary * (1 + IFNULL(commission_pct,0)) *12 "总工资" FROM `employees`;

java select语句怎么写 sql java select()_表名_10

#查询去除job_id的重复数据
select distinct job_id from `employees`;

 

java select语句怎么写 sql java select()_表名_11

#查询工资大于12000的员工
SELECT last_name "员工名",salary "工资" FROM `employees` WHERE salary > 12000;

java select语句怎么写 sql java select()_字段_12

#查询176员工的姓名与部门
SELECT last_name "姓名",department_id "部门id" FROM `employees` WHERE employee_id = 176;

java select语句怎么写 sql java select()_重复数据_13