Bookshop

Offering a range of maritime titles

We are the bookseller of choice for the maritime sector. Supporting seafarers through their maritime studies and professional development with our extensive range of books – technical, regulatory, vocational, educational.

We enjoy strong links with key organisations and are official distributors for both the IMO and Nautical Institute, as well as suppliers of Witherbys, Brown, Son & Ferguson, Admiralty, and Reeds titles, among others.

A woman picking out a book from the library shelf

Newsletter

For monthly updates, please take a look at our newsletter:

2021 - January, February, March, April, May

 

We welcome enquiries from individuals and can help tailor books requirements for Deck Cadets, OOW, Masters, Mates and Engineering specialists.

Visit the Marine Society shop.

For more information, contact us on: books@ms-sc.org 

)
SELECT	(`page`.`id`) AS `id`,
	(`page`.`parent`) AS `parent`,
	(`page`.`ordinal`) AS `ordinal`,
	(`page`.`name`) AS `name`,
	(`page`.`title`) AS `title`,
	(`page`.`summary`) AS `summary`,
	(`page`.`content`) AS `content`,
	(`page`.`theme`) AS `theme`,
	(`page`.`meta_title`) AS `meta_title`,
	(`page`.`meta_description`) AS `meta_description`,
	(`page`.`slug`) AS `slug`,
	(`page`.`password`) AS `password`,
	(`page`.`donation_text`) AS `donation_text`,
	(`page`.`donation_amounts`) AS `donation_amounts`,
	(`page`.`grid`) AS `grid`,
	(`page`.`grid_title`) AS `grid_title`,
	(`page`.`static`) AS `static`,
	(`page`.`donate`) AS `donate`,
	(`page`.`publish`) AS `publish`,
	(`page`.`discard`) AS `discard`,
	(`page`.`updated`) AS `updated`,
	(
	SELECT	`image`
	FROM `page_image`
	WHERE `page_image`.`discard` IS FALSE
	AND `page_image`.`publish` IS TRUE
	AND `page_image`.`page_id` = `page`.`id`
	ORDER BY `page_image`.`ordinal` ASC
	LIMIT 1) AS `image`
FROM `page`
WHERE `page`.`discard` IS FALSE
AND `page`.`publish` IS TRUE
ORDER BY `page`.`parent` ASC, `page`.`ordinal` ASC, `page`.`name` ASC, `page`.`id` ASC
Command completed in 0.013046026229858 seconds - 63 row(s) affected.
SELECT	(`page_image`.`id`) AS `id`,
	(`page_image`.`page_id`) AS `page_id`,
	(`page_image`.`ordinal`) AS `ordinal`,
	(`page_image`.`name`) AS `name`,
	(`page_image`.`title`) AS `title`,
	(`page_image`.`summary`) AS `summary`,
	(`page_image`.`url`) AS `url`,
	(`page_image`.`image`) AS `image`,
	(`page_image`.`image_mobile`) AS `image_mobile`,
	(`page_image`.`image_alt`) AS `image_alt`,
	(`page_image`.`publish`) AS `publish`,
	(`page_image`.`discard`) AS `discard`,
	(`page_image`.`updated`) AS `updated`
FROM `page_image`
WHERE `page_image`.`discard` IS FALSE
AND `page_image`.`publish` IS TRUE
ORDER BY `page_image`.`ordinal` ASC, `page_image`.`name` ASC, `page_image`.`id` ASC
Command completed in 0.019814014434814 seconds - 62 row(s) affected.
SELECT	(`page_section`.`id`) AS `id`,
	(`page_section`.`page_id`) AS `page_id`,
	(`page_section`.`ordinal`) AS `ordinal`,
	(`page_section`.`type`) AS `type`,
	(`page_section`.`content`) AS `content`,
	(`page_section`.`publish`) AS `publish`,
	(`page_section`.`discard`) AS `discard`,
	(`page_section`.`updated`) AS `updated`,
	(`page`.`name`) AS `page_name`
FROM `page_section`
INNER JOIN `page` ON `page`.`id` = `page_section`.`page_id` AND `page`.`discard` IS FALSE AND `page`.`publish` IS TRUE
WHERE `page_section`.`discard` IS FALSE
AND `page_section`.`publish` IS TRUE
AND `page_section`.`page_id` = 137
ORDER BY `page_section`.`ordinal` ASC, `page_section`.`id` ASC
Command completed in 0.01758885383606 seconds - 0 row(s) affected.
SELECT	(`notice`.`id`) AS `id`,
	(`notice`.`ordinal`) AS `ordinal`,
	(`notice`.`name`) AS `name`,
	(`notice`.`title`) AS `title`,
	(`notice`.`content`) AS `content`,
	(`notice`.`image`) AS `image`,
	(`notice`.`button_text`) AS `button_text`,
	(`notice`.`button_link`) AS `button_link`,
	(`notice`.`position`) AS `position`,
	(`notice`.`icon`) AS `icon`,
	(`notice`.`publish_date`) AS `publish_date`,
	(`notice`.`publish_until`) AS `publish_until`,
	(`notice`.`publish`) AS `publish`,
	(`notice`.`discard`) AS `discard`,
	(`notice`.`updated`) AS `updated`
FROM `notice`
WHERE `notice`.`discard` IS FALSE
AND `notice`.`publish` IS TRUE
AND `notice`.`publish_until` >= CURRENT_DATE
ORDER BY `notice`.`publish_date` DESC, `notice`.`id` DESC
LIMIT 1
Command completed in 0.011322021484375 seconds - 0 row(s) affected.
SELECT	(`page_section`.`id`) AS `id`,
	(`page_section`.`page_id`) AS `page_id`,
	(`page_section`.`ordinal`) AS `ordinal`,
	(`page_section`.`type`) AS `type`,
	(`page_section`.`content`) AS `content`,
	(`page_section`.`publish`) AS `publish`,
	(`page_section`.`discard`) AS `discard`,
	(`page_section`.`updated`) AS `updated`,
	(`page`.`name`) AS `page_name`
FROM `page_section`
INNER JOIN `page` ON `page`.`id` = `page_section`.`page_id` AND `page`.`discard` IS FALSE AND `page`.`publish` IS TRUE
WHERE `page_section`.`discard` IS FALSE
AND `page_section`.`publish` IS TRUE
AND `page_section`.`page_id` = 137
ORDER BY `page_section`.`ordinal` ASC, `page_section`.`id` ASC
Command completed in 0.010067939758301 seconds - 0 row(s) affected.
SELECT	(`banner`.`id`) AS `id`,
	(`banner`.`name`) AS `name`,
	(`banner`.`url`) AS `url`,
	(`banner`.`image`) AS `image`,
	(`banner`.`image_alt`) AS `image_alt`,
	(`banner`.`publish`) AS `publish`,
	(`banner`.`discard`) AS `discard`,
	(`banner`.`updated`) AS `updated`,
	(`page_banner`.`ordinal`) AS `ordinal`
FROM `banner`
INNER JOIN `page_banner` ON `page_banner`.`banner_id` = `banner`.`id` AND `page_banner`.`page_id` = 137
WHERE `banner`.`discard` IS FALSE
AND `banner`.`publish` IS TRUE
AND `banner`.`id` IN (
	SELECT	`banner_id`
	FROM `page_banner`
	WHERE `page_banner`.`page_id` = 137)
ORDER BY `page_banner`.`ordinal` ASC, `banner`.`name` ASC
Command completed in 0.00071907043457031 seconds - 0 row(s) affected.