中国唯一一家专业只做ARACLE认证和BDA实训的甲骨文金牌合作企业

网络授课

技术沙龙

MySQL培训教程:select选择数据命令

MySQL培训教程:select选择数据命令,现在本书已为每个表添加了一行数据,下面我们来做一些查询操作。本书将使用SELECT语句查询所需数据。输入如下内容,可以得到books表中所有行列的数据:

  1. SELECT * FROM books;  

星号作为通配符,表示选择了所有列。我们没有指定选择行的限定条件,因此结果将会列出books表中所有行。如果想查找特定的列,则需要列出所需的列名。在SELECT语句的结尾处添加一个WHERE子句,可以选择指定的行:

  1. SELECT book_id, title, description  
  2. FROM books  
  3. WHERE genre = 'novel'

该语句列出了books表中genre列的值为nove的所有图书的标识号、标题、描述信息。当然,当数据库中有更多的图书数据时,结果将会更加有意义。因此,我们假设已经输入了许多图书数据信息,然后再执行。

如果我们想从数据库中得到小说及其作者全名的列表,我们需要将books表和authors表关联起来。这可以通过JOIN子句按如下所示将二个表关联起来:

  1. SELECT book_id, title, pub_year,  
  2. CONCAT(author_?rst, ' ', author_last) AS author  
  3. FROM books  
  4. JOIN authors USING(author_id)  
  5. WHERE author_last = 'Greene'

在FROM子句中,我们通过author_id列将books表和authors表关联起来。如果二个表中的列名不同,我们还需要在JOIN子句中使用其他的子句或方法来连接这二个表(例如:ON(author_id=writer_id))。需要注意SQL语句中的第二行,本书使用了一个字符串函数CONCAT()。使用此函数,可以将取出的数据连接起来形成更有意义的输出内容。既然如此,我们取出作者的名字,并在其后添加一个带引号的空格,紧接着是作者的姓。结果将显示在列标题为author的列中。关键字AS根据我们指定的名称创建了列标题,我们称这个列标题为别名。

在WHERE子句中,本书使用姓Greene指定了我们所需的Greene的作品信息。如果books表中没有Greene的作品信息,则将不会有任何结果显示。下面显示了前面的查询结果:

  1. +---------+-----------------------+----------+---------------+  
  2. | book_id | title | pub_year | author |  
  3. +---------+-----------------------+----------+---------------+  
  4. | 1 | The End of the Affair | 1951 | Graham Greene |  
  5. | 2 | Brighton Rock | 1937 | Graham Greene |  
  6. +---------+-----------------------+----------+---------------+ 

正如你所看到的,GrahamGreene的二本作品都列举出来了。列标题也已经变成了AS子句后面指定的名称。我们也可以使用关键字AS将显示的列标题改成其他名称。在SELECT语句中可以使用别名author,遗憾的是,在WHERE子句中不能使用这个别名。

CUUG 优技培训

中国Oracle培训领航专家

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。

金牌讲师

行业资深实战专家 让学习就像在就业
展开

实操环境

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

院校合作

学校新闻

行业新闻

在线预约 抢先报名 获取课程排期

请输入您的手机号

申请试听
版权所有:北京神脑资讯科技有限公司
地址:北京市海淀区紫竹花园4号楼D座703
全国免费咨询电话:400-0909-964
电话:010-59426307 ,邮政编码:100089
E-mail:cuug_bj@cuug.com
拨打电话
在线咨询
首页