SQL研习录(18)——别名(Aliases)

SQL研习录(18)——别名(Aliases)


版权声明

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

一、别名(Aliases)

  在SQL中,为了使列名或者表名更具有可读性,我们可以为表名或者列名来指定别名,别名用于为表或表中的列提供临时名称,需要注意的是, 一个别名只存在于一个查询期间!

1、基本语法

  为列名指定别名的语法如下:

SELECT column_name AS alias_name 
FROM table_name;

  为表名指定别名的语法如下:

SELECT column_name(s)
FROM table_name AS alias_name;

2、示例

  为了理解方便,我们通过例子来理解,首先创建一组测试数据,代码如下:

-- 学生表
CREATE TABLE student(
	s_id varchar(50) NOT NULL 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','Bruce','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S104','Tom','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S105','Jayce','male');

-- 家庭表
CREATE TABLE family(
	f_id varchar(50) NOT NULL PRIMARY KEY,
	f_name varchar(50),
	f_relationship varchar(50),
	s_id varchar(50) FOREIGN KEY REFERENCES student(s_id)
)

-- 插入数据
INSERT INTO family (f_id,s_id,f_name,f_relationship) VALUES('F101','S101','老张','父子');
INSERT INTO family (f_id,s_id,f_name,f_relationship) VALUES('F102','S101','翠花','母子');
INSERT INTO family (f_id,s_id,f_name,f_relationship) VALUES('F103','S104','老李','父子');
INSERT INTO family (f_id,s_id,f_name,f_relationship) VALUES('F104','S104','赵刚','母子');
INSERT INTO family (f_id,s_id,f_name,f_relationship) VALUES('F105','S105','熏悟空','父子');
INSERT INTO family (f_id,s_id,f_name,f_relationship) VALUES('F106','S105','举八戒','母子');

  1、当我们需要单独为各个列取别名的时候,可用如下语句:

SELECT s_id AS '学生编号',s_name AS '学生姓名',s_gender AS '学生性别' FROM student;

  执行结果如下:
在这里插入图片描述
  注意:如果别名包含空格,则需要双引号(" ")或者方括号([ ])将别名“圈”起来

  2、当我们需要为多个列取一个别名的时候,可用如下语句:

SELECT s_id AS '学生编号',s_name+','+s_gender AS '学生信息' FROM student;

  如果是在MySQL中使用,则需要以下语句:

SELECT s_id AS '学生编号',CONCAT(s_name,',',s_gender) AS '学生信息' FROM student;

  执行结果如下:
在这里插入图片描述
  3、当我们需要为表取别名的时候(一般为多表联查时),可用如下语句:

SELECT a.s_id,a.s_name,b.f_id,b.f_name,b.f_relationship
FROM student AS a,family AS b
WHERE a.s_id='S105' AND a.s_id=b.s_id;

  执行结果如下:
在这里插入图片描述
  小结: 以下几种情况使用别名更为方便

  • 查询涉及多个表
  • 用于查询函数
  • 需要把两个或更多的列放在一起
  • 列名长或可读性差
发布了81 篇原创文章 · 获赞 36 · 访问量 3347

猜你喜欢

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