SQL研习录(03)——简单查询


版权声明

  • 本文原创作者:清风不渡
  • 博客地址:https://blog.csdn.net/WXKKang

SELECT(选择)

  说到SQL,我们使用最频繁的就是SELECT了,SELECT语法用于从数据库中选择数据(也可以称之为查询),返回的数据存储在结果表里面,称为结果集
  首先我们来准备测试数据,代码如下:

USE demo;
CREATE TABLE student(
	s_id varchar(50) PRIMARY KEY,
	s_name varchar(50),
	s_gender varchar(50)
)

INSERT INTO student(s_id,s_name,s_gender) VALUES('S101','Lucy','female');
INSERT INTO student(s_id,s_name,s_gender) VALUES('S102','Jack','male');
INSERT INTO student(s_id,s_name,s_gender) VALUES('S103','Tom','male');
INSERT INTO student(s_id,s_name,s_gender) VALUES('S104','Bruce','male');
INSERT INTO student(s_id,s_name,s_gender) VALUES('S105','Jayce','male');

1、简单的查询

  如果我们需要查询表里的某些字段的所有记录时,可以使用如下如法:

SELECT column1, column2, ...
FROM table_name;

  例如在测试表中,如果我们需要查询s_id与s_name的记录时,查询语句如下:

SELECT s_id,s_name FROM student;

  运行结果如下:
在这里插入图片描述
  如果我们需要查询表中可用的所有字段,可使用以下语法:

SELECT * FROM student;

  运行结果如下:
在这里插入图片描述

2、查询结果去重

  在一张表内,一列通常包含许多重复的值,如果需要列出不同的值,就需要使用DISTINCT关键字,具体语法如下:

SELECT DISTINCT column1, column2, ... FROM table_name;

  例如在测试表中,s_gender列中的记录是有重复值的,我们分别使用普通查询和使用去重关键字的查询来选择s_gender列下的数据,代码如下:

SELECT s_gender FROM student;
SELECT DISTINCT s_gender FROM student;

  运行结果:
在这里插入图片描述
  我们也可以使用计算结果记录条数的和(COUNT关键字)来测试去重效果,代码如下:

SELECT COUNT(s_gender) FROM student;
SELECT COUNT(DISTINCT s_gender) FROM student;

  运行结果:
在这里插入图片描述

3、WHERE条件(查询子句)

  如果我们需要将满足某一条件的记录查询出来,就需要使用WHERE查询子句来进行查询了
  WHERE子句用于提取满足指定标准的记录,语法如下:

SELECT column1, column2, ... FROM table_name WHERE condition;

  注: WHERE子句不仅可以用于SELECT语法,还可以在UPDATE,DELECT语法中使用
  例如在测试表中,如果我们需要查询出性别为’male’的学生时,可使用WHERE子句来对查询加以限定,代码如下:

SELECT s_id,s_name,s_gender FROM student WHERE s_gender='male';

  运行结果如下:
在这里插入图片描述
  WHERE子句中的条件表达式相似于JAVA中的表达式,所要使用的运算符及意思如下:
在这里插入图片描述

4、与、或、非

  通过上面的学习我们知道了,WHERE子句可以按一定的条件过滤记录,那么如果需要满足多个条件时该怎么办呢?就需要使用与、或、非(AND、OR和NOT)了
  AND&OR运算符用于根据一个以上的条件过滤记录
  WHERE子句可以与AND,OR和NOT运算符结合使用
    1、如果由AND分隔的所有条件为TRUE,则AND运算符显示记录。
    2、如果由OR分隔的任何条件为真,则OR运算符显示记录。
  如果条件不为真,则NOT运算符显示记录
  它们的基本语法如下:
  AND语法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

  OR语法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

  NOT语法

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

5、按关键字排序

  ORDER BY 关键字用于对结果集进行排序
  ORDER BY 关键字用于按升序或降序对结果集进行排序。
  ORDER BY 关键字默认情况下按升序排序记录。
  如果需要按降序对记录进行排序,可以使用DESC关键字,基本语法如下:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
发布了81 篇原创文章 · 获赞 36 · 访问量 3372

猜你喜欢

转载自blog.csdn.net/WXKKang/article/details/103764530
今日推荐