南京 [ 更换 ]
热门城市
北京上海广州深圳成都杭州南京武汉天津西安重庆青岛沈阳长沙大连厦门无锡福州济南宁波昆明苏州郑州长春合肥南昌哈尔滨常州烟台南宁温州石家庄太原珠海南通扬州贵阳东莞徐州大庆佛山威海洛阳淮安呼和浩特镇江潍坊桂林中山临沂咸阳包头嘉兴惠州泉州三亚赣州九江金华泰安榆林许昌新乡舟山慈溪南阳聊城海口东营淄博漳州保定沧州丹东宜兴绍兴唐山湖州揭阳江阴营口衡阳郴州鄂尔多斯泰州义乌汕头宜昌大同鞍山湘潭盐城马鞍山襄樊长治日照常熟安庆吉林乌鲁木齐兰州秦皇岛肇庆西宁介休滨州台州廊坊邢台株洲德阳绵阳双流平顶山龙岩银川芜湖晋江连云港张家港锦州岳阳长沙县济宁邯郸江门齐齐哈尔昆山柳州绍兴县运城齐河衢州太仓张家口湛江眉山常德盘锦枣庄资阳宜宾赤峰余姚清远蚌埠宁德德州宝鸡牡丹江阜阳莆田诸暨黄石吉安延安拉萨海宁通辽黄山长乐安阳增城桐乡上虞辽阳遵义韶关泸州南平滁州温岭南充景德镇抚顺乌海荆门阳江曲靖邵阳宿迁荆州焦作丹阳丽水延吉茂名梅州渭南葫芦岛娄底滕州上饶富阳内江三明淮南孝感溧阳乐山临汾攀枝花阳泉长葛汉中四平六盘水安顺新余晋城自贡三门峡本溪防城港铁岭随州广安广元天水遂宁萍乡西双版纳绥化鹤壁湘西松原阜新酒泉张家界黔西南保山昭通河池来宾玉溪梧州鹰潭钦州云浮佳木斯克拉玛依呼伦贝尔贺州通化朝阳百色毕节贵港丽江安康德宏朔州伊犁文山楚雄嘉峪关凉山雅安西藏四川广东河北山西辽宁黑龙江江苏浙江安徽福建江西山东河南湖北湖南海南贵州云南陕西甘肃青海台湾内蒙古广西宁夏香港澳门
培训资讯网 - 为兴趣爱好者提供专业的职业培训资讯知识

好程序员Java培训分享SQL语言之查询

java培训 培训

好程序员Java培训分享SQL语言之查询,本章我们将学习SQL查询中的高级部分,如内连接、外连接和子查询,通过这些查询技术我们将能够解决项目中复杂的查询问题。

好程序员Java培训分享SQL语言之查询

外键约束

MySQL属于关系型的数据库,表之间可以建立关系,如:学生表和成绩表,在成绩表中添加学生编号引用学生表中的学生编号,这样在成绩表中就不用添加重复的学生信息了,这种关系也叫主外键关系,可以通过设置外键约束实现。

可以在创建表时,添加外键约束来保证表和表之间引用完整性,添加外键后:

在插入外键表数据前,必须先插入主表数据

在删除主表数据前,必须先删除外键表数据

语法:

create table 表名

(

字段名 类型 约束,

... ,

constraint 外键名称 foreign key (外键列) references 主表(主键)

);

代码示例:

use mysql_db;

-- 创建成绩表

drop table if exists tb_score;

create table tb_score

(

score_id int primary key auto_increment,

score_stu_id int,

score int,

score_course varchar(20),

constraint fk_score_stu_id foreign key(score_stu_id) references tb_student(stu_id)

);

内连接查询

在查询时我们经常要把相关的多张表的字段,一起查询出来,如查询学生成绩时,要显示分数和学生姓名。这个时候我们就需要连接查询了,连接查询分为内连接和外连接,我们先学习内连接查询。

内连接查询的特点是:会查询出相关表中都存在的数据。

语法有两种实现方法:

1)select 字段..... from 表1 inner join 表2

on 表1.主键 = 表2.外键;

注意:这里假设表1是主表,内连接表的前后顺序无关

2)select 字段..... from 表1 , 表2

where 表1.主键 = 表2.外键;

代码示例:

-- 查询学生姓名和成绩 方式1

select s.stu_id ,s.stu_name,c.score_course,c.score from tb_score c inner join tb_student s on s.stu_id = c.score_stu_id;

-- 方式2

select s.stu_id ,s.stu_name,c.score_course,c.score from tb_score c , tb_student s where s.stu_id = c.score_stu_id;

效果相同:

好程序员Java培训分享SQL语言之查询

外连接查询

外连接分为左外连接和右外连接:

1) 左外连接

连接查询多张表的数据,显示所有左表的数据,右表存在不相符的数据补null。

语法:

select 字段... from 左表 left join 右表

on 主表.主键 = 子表.外键;

代码示例:

-- 左外连接,查询学生姓名和成绩

select s.stu_id,s.stu_name,c.score_course,c.score from tb_student s left join tb_score c on s.stu_id = c.score_stu_id;

好程序员Java培训分享SQL语言之查询

-- 查询所有参加过考试的同学

select s.stu_id,s.stu_name,c.score_course,c.score from tb_student s left join tb_score c on s.stu_id = c.score_stu_id where c.score is not null;

好程序员Java培训分享SQL语言之查询

-- 查询所有没参加过考试的同学

select s.stu_id,s.stu_name,c.score_course,c.score from tb_student s left join tb_score c on s.stu_id = c.score_stu_id where c.score is null;

好程序员Java培训分享SQL语言之查询

2)右外连接

与左连接相反,显示所有右表数据,左表中不相符的数据补null。

语法:

select 字段... from 左表 right join 右表

on 主表.主键 = 子表.外键;

代码示例:

select s.stu_id,s.stu_name,c.score_course,c.score from tb_score c right join tb_student s

on s.stu_id = c.score_stu_id;

好程序员Java培训分享SQL语言之查询

子查询

在查询语句中还可以嵌入查询语句,嵌入的查询也叫子查询,子查询将先执行,查询到结果后,父查询可以将此结果作为查询条件再进行一次查询,这样可以解决比较复杂的查询问题。

语法:

select ... from 表 where 字段 比较运算符 (select ... from 表 where 条件);

代码示例:

-- 查询年龄比李四大的学生

select * from tb_student where stu_age > (select stu_age from tb_student where stu_name = "李四");

好程序员Java培训分享SQL语言之查询

-- 查询李四的老乡

select * from tb_student where stu_address = (select stu_address from tb_student where stu_name = "李四");

好程序员Java培训分享SQL语言之查询

子查询之IN

有时候当子查询中查询结果不止一个的情况下,使用比较运算符会出现错误,这时候我们就需要使用一些关键字来帮助筛选结果。

in关键字的作用是在字段和数据列表中任意一个相等,条件就成立。

代码示例:

-- 查询语文分数考相同的学生,先用子查询查语文的成绩,在用内连接查考过语文的学生姓名和成绩,把成绩进行比较

select stu_name,score_course,score from tb_student inner join tb_score on tb_student.stu_id = tb_score.score_stu_id where score_course="语文" and score in(select score from tb_score where score_course = "语文");

好程序员Java培训分享SQL语言之查询

子查询之ALL

all和比较运算符配合使用,如果字段和所有的查询结果都比较成立,结果才成立。

语法:

字段 比较运算 all(查询结果)

代码示例:

-- 查询比所有男学生小的女学生,先查所有男学生的年龄,如果女学生年龄比所有这些年龄大,就查出来

select stu_name,stu_age,stu_gender from tb_student where stu_gender = "女" and stu_age < all(select stu_age from tb_student where stu_gender = "男");

好程序员Java培训分享SQL语言之查询

子查询之ANY

any和比较运算符配合使用,如果字段和任意一个查询结果比较成立,则结果成立。

语法:

字段 比较运算 any(查询结果)

代码示例:

-- 查询只要比一个南京学生大的武汉学生

select stu_name,stu_address from tb_student where stu_address = "武汉"

and stu_age > any(select stu_age from tb_student where stu_address="南京");

子查询之Exists

exists表示是否有查询结果,如果没有结果,返回false,有结果则返回true

语法:

exists(查询结果)

-- 查询考过英语的同学,在子查询中需要判断父查询中的学生id是否在子查询中存在

select * from tb_student where

exists(select score_stu_id from tb_score where tb_student.stu_id = tb_score.score_stu_id and score_course = "英语");

总结

本章我们学习了内连接、外连接、子查询等高级查询方法,有时候这些查询方法需要综合运用起来,当我们熟悉了它们后,查询数据就不是难事了。

相关内容

南京地区教育培训机构法律纠纷大数据分析报告

引言:根据《2018年全国教育事业发展统计公报》,我国各级各类学历教育在校生2.76亿人,这是一个无比巨大的教育服务需求群体。伴随着国家经济的发展,国民收入提高,新生代家长教育理念的转化,我国近几年的教育市场呈现持续旺盛的增长态势。有机构预···

一根柱子2年零3个月被撞54次,大数据揭示车险骗保有多疯狂

一个名为“仓某恒”的驾驶员,两年多共驾车发生事故并申报理赔81次;一个名为“张某继”的人,在过去两年多时间里,遭遇事故39次……伪造事故、诈骗保险赔付,是汽车修理、二手车交易等行业半公开的“秘密”。车险骗保到底有多疯狂?最近,南京公安运用大···

南京明时室内设计培训-室内设计师薪资构成

室内设计师薪资构成一、底薪。它用于确保公司拥有稳定的设计师团队。根据设计师的经验,工资有高有低。中国市场的一般保证工资从2000到5000元不等。有经验有水平的,工作单位更加关注,工资会更高。二、绩效。根据设计人员的工作完成量,公司按一定比···

南京室内设计培训-装饰行业的未来只有三条路?

未来5-10年装饰行业只有下面三条路才能存活,这篇小短文对装企的老板在未来的转型一定有非常大的帮助,赶紧多多点赞收藏。第一类:一定是未来的大型连锁整装公司,可能有资本背景,或者在你当地有非常多的年头,霸占了你当地装修市场的很大一部分份额,这···

南京室内设计培训-室内设计师必备8大专业能力

如何才能成为一名真正的、优秀的室内设计师,而不是所谓的室内设计师?其实很多人都被当成了所谓的设计师,什么是所谓的设计师呢,就是干着绘图员的工作,公司给的名称叫设计师;其实这根本不是真正的室内设计师,真正的专业室内设计师很少去做绘图员的工作,···

南京明时室内设计培训|室内设计可以自学吗

自学室内设计是比较难的,因为室内设计要学的东西比较专业,自学很难搞得清楚。学习室内设计大致可以分为三种方式:一种是去大学学习,但针对参加高考的人群,门槛高,费用高,且花费时间长,往往需要三年到四年时间。很多人选择学习设计其实都是三分钟热度,···

南京明时室内设计培训:家装设计的八种风格

在家的舒适空间中,如何营造独特而又具有个性的氛围?室内设计的风格选择起着至关重要的作用。南京明时室内设计培训为您带来了家装设计的八种精彩风格,让您的家成为别具一格的艺术品。1. 现代风格:简洁、干净、线条明确,以简约的形式和功能性的设计为特···

南京室内设计培训-不同级别室内设计师的薪资待遇如何

1.高级设计师同样能力的设计师在不同的城市有不同的收入。比如二三线城市,高级设计师的年薪在200万到500万之间,中级设计师的年薪在50万到100万之间,低一点的年薪在20万到50万之间;专业设计师的收入高于所有从业人员的工资。因为设计师有···

南京室内设计培训机构哪家好

南京室内设计培训机构哪家好,随着房地产不断的发展,起起伏伏,室内设计专修行业也跟着火热。优秀的室内设计师是企业争相迫切想要招入的学人才。所以室内设计师行业的火爆程度可想而知。天琥教育专注设计培训,拥有良好的学习氛围,配备了先进的多媒体教学设···

南京明时教育室内设计培训宣传简章

第一部分:培训介绍- 欢迎参加南京明时教育室内设计培训!本培训旨在为学员提供全面的室内设计知识和实践技能培训,帮助您成为出色的室内设计师。- 培训对象:对室内设计感兴趣的学生、从业人员、设计爱好者等。第二部分:培训内容- 室内设计理论基础:···

山东艺术学院插画设计与应用人才培养班举行开班仪式

4月1日下午,山东艺术学院2019年度国家艺术基金艺术人才培养资助项目《插画设计与应用人才培养——以山海经形象创新设计为例》开班仪式在长清校区举行。据介绍,国家艺术基金作为弘扬传统文化、传统技艺,培养传统工艺、培养传统人才的优秀平台,在提升···

设计小白能学会CAD吗?初期怎么学

CAD(计算机辅助设计)是现代设计领域的重要工具,它为设计师提供了快速、精确和高效的设计方案。对于设计小白来说,学习CAD可能会有一些挑战,但只要有正确的学习方法和坚持不懈的努力,学会CAD并实现自己的设计梦想是完全有可能的。南京明时CAD···

国内顶尖建筑设计师、平面设计师,在南京联手打造巨大独立书店

在广义的相对论中,奇点是宇宙大爆炸诞生的“0”维空间的点,它拥有无限大的时空曲率,暗藏着不可预知的能量代码。就在9月6日,有一颗在时空中漫游的“奇点”着陆南京,它被命名为“奇点书集”。作为南京一家新生的独立书店,奇点书集的开业活动,几乎吸引···

南京新街口学UI设计哪里好?

校区遍布南昌、厦门、广州、武汉、南京、重庆、南宁、赣州、长沙、成都、深圳等全国多省市80多家校区。每一位前来天琥教育的学员,天琥教育专业老师会根据学员的情况量身定制符合其现状的学习计划,并且严格按照学习计划实施。UI设计 难的是什么?视觉定···

南京UI设计培训学校哪家强?天琥教育专业试听

UI的高级形态可以理解为UserInvisibl‌‌e。对用户而言,在这一层面UI是“不可见的”,这并非是指视觉上的不可见,而是让用户在界面之下与系统自然地交互,沉浸在他们喜欢的内容和操作中,忘记了界面的存在(糟糕的设计则迫使用户注意界面,···

南京建邺平面设计培训学校的培训内容?有用吗?

一、培训对象:零基础、对电脑办公有兴趣爱好或想从事电脑办公、文员等行业二、学习目的:通过学习,学员可以熟练掌握计算机系统操作、上网、文字处理、表格处理、图象处理等一系列的计算机操作技能。三、培训内容:WORD文字的编辑与修饰创建文档;修改文···

南京平面设计培训机构—平面设计学院什么时候

①、软件:工欲善其事,必先利其器——先把软件工具学好,不然你有再好的想法都无法实现。photoshop(ps)、coreldraw(cdr)、illustrator(ai),这是现在市场上主流的平面设计软件。ps不用说,这是肯定要学的。主要···

平面设计师真的不赚钱吗_南京上元教育品牌设计培训

平面设计师真的不赚钱吗_南京上元教育品牌设计培训单价较高的设计项目有:品牌设计、包装设计、画册设计、UI设计。能做这些设计项目的公司或企业,普遍来都是比较看重设计的,愿意投入资金来塑造自身对外的视觉展示形象,所以从事这类设计工作,其工资也会···

南京平面设计培训学什么?怎样成为合格的美工?

①软件应用。毋庸置疑软件的应用是首要的,在做美工之前首先要把最相关软件熟练掌握,比如PS,AI,CDR,C4D等,只有学会了软件操作才能变想象为现实。当软件熟练使用了,算是入门了。②设计理念。设计不是想怎么做就怎么做,需要有理念的支撑,当一···

南京平面设计那个比较好,南京平面设计师工资一般多少;夏雨老师

平面设计的应用可谓是非常广,有很多在校学生或者想要转行到平面设计的小伙伴们都会面临同样的问题:南京平面设计那个比较好?南京平面设计师工资一般多少,首先我们需要了解一下什么平面设计,平面设计都应用在哪些方面呢?平面设计也成为视觉传达设计,是以···