mysql学习笔记(三)select语句

来源:互联网 发布:sql sever设置主键 编辑:程序博客网 时间:2024/05/15 23:51

1.基本语法

(1)selet * from  table_name : 查询table_name表中的所有内容

(2)selet 条件 from table_name : 查询table_name表中指定条件的内容


2.数学符号条件

selct中一般会有where限制语句,eg : select name name , age from table_name where age > 25  表示:从table_name表中提取年龄大于25的人的名字和年龄

PS:这里年龄都为int值,名字什么的得用单引号因为是字符格式


3.AND , OR,  IN,NOT IN 

(1)AND 顾名思义就是:且    eg : select name , age from table_name where age >25 and age <30 表示:从table_name表中提取年龄大于25且小于30的人的名字和年龄

(2)OR   顾名思义就是:或    eg  :select name , age from table_name where age < 25 or age > 30  表示:从table_name表中提取年龄小于25或大于30的人的名字和年龄

(3)IN    表示 “在”某个范围内 , eg : select name , age  ,in_dpt from table_name where in_apt in ('apd3','adp4') 表示:从table_name表中提出在3,4公寓的人的名字,年龄,公寓号

(4)NOT IN ,于 IN 刚好相反


4.通配符

关键字 LIKE 在SQL语句中和通配符一起使用,通配符代表未知字符。SQL中的通配符是 _ 和 % 。其中 _ 代表一个未指定字符,% 代表不定个未指定字符。

(1)eg:SELECT name,age,phone FROM employee WHERE phone LIKE '1101__';  表示通配1101X,只有一位

(2)eg:SELECT name,age,phone FROM employee WHERE phone LIKE 'J%';  表示通配J开头的任意字符,长度不限


5.排序

关键字:oder by , 默认为升序 。 控制字符为 :ASC(升序) , DESC(降序)

eg :SELECT name,age,salary,phone FROM employee ORDER BY salary DESC; 表示对salary做降序操作并且查询name,age,salary,phone


6.SQL 内置函数和计算

函数名: COUNT       SUM       AVG       MAX MIN
作用: 计数         求和        求平均值    最大值        最小值

eg:SELECT MAX(salary) AS max_salary,MIN(salary) FROM employee; 求salary的最大最小值并且对表格名称MAX(salary)做了重命名为max_salary


7.子查询与连接查询 

 SELECT 语句涉及一个表中的数据,然而有时必须处理多个表才能获得所需的信息。

例如:想要知道名为 "Tom" 的员工所在部门做了几个工程。员工信息储存在 employee 表中,但工程信息储存在project 表中。

SELECT of_dpt,COUNT(proj_name) AS count_project FROM project
WHERE of_dpt IN
(SELECT in_dpt FROM employee WHERE name='Tom');

表示:这种类似于递归的应该反向翻译

在employee表单中选择名为tom的人找到其所在部门,在project找到这个部门,在project中查询of_dpt , 和计算的工程数目并且重命名为count_project 


0 0
原创粉丝点击