出现在select语句中的select语句,称为子查询或内查询。
外部的select查询语句,称为主查询或外查询。
测试数据比较多,放在我的个人博客上了。
浏览器中打开链接:http://www.itsoku.com/article/196
mysql中执行里面的 javacode2018_employees库 部分的脚本。
成功创建 javacode2018_employees 库及5张表,如下:
运行最后一条结果如下:
in,any,some,all分别是子查询的关键词之一。
in :in常用于where表达式中,其作用是查询某个范围内的数据
any和some一样 : 可以与=、>、>=、<、<=、>结合起来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的任何一个数据。
all :可以与=、>、>=、<、<=、>结合使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的其中的所有数据。
下文中会经常用到这些关键字。
运行结果:
not in的情况下,子查询中列的值为NULL的时候,外查询的结果为空。
建议:建表是,列不允许为空。
1 启动mysql实例docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
some-mysql: 容器别名
my-secret-pw:初始化设置的root用户的密码
tag:mysql的版本,不写默认使用最新版
-p 3306:3306:表示在这个容器中使用3306端口(第二个)映射到本机的端口号也为3306(第一个)
2 连接到mysql实例
2.1 连接到本地mysql
docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
2.1 连接其他地方的mysql
docker run -it --rm mysql mysql -hsome.mysql.host -usome-mysql-user -p
3 切换到容器shell中
docker exec -it some-mysql bash
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)